1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Appendix�A.�Sourcery CodeBench Lite Release Notes</title><link rel="stylesheet" href="cs.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.74.0"><meta name="description" content=" This appendix contains information about changes in this release of Sourcery CodeBench Lite for ARM EABI. You should read through these notes to learn about new features and bug fixes."><link rel="home" href="index.html" title="Sourcery CodeBench Lite"><link rel="up" href="index.html" title="Sourcery CodeBench Lite"><link rel="prev" href="ch07s03.html" title="7.3.�Manuals for GNU Toolchain Components"><link rel="next" href="chap-license.html" title="Appendix�B.�Sourcery CodeBench Lite Licenses"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix�A.�Sourcery CodeBench Lite Release Notes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch07s03.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="chap-license.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="chap-release"></a>Appendix�A.�Sourcery CodeBench Lite Release Notes</h2></div><div><div class="abstract"><p class="title"><b></b></p><p> 2 This appendix contains information about changes in this 3 release of Sourcery CodeBench Lite for ARM EABI. You should read 4 through these notes to learn about new features and bug fixes. 5 </p></div></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="chap-release.html#sec-release-notes">A.1. Changes in Sourcery CodeBench Lite for ARM EABI</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sec-release-notes"></a>A.1.�Changes in Sourcery CodeBench Lite for ARM EABI</h2></div></div></div><p> 6 This section documents Sourcery CodeBench Lite changes for each released revision. 7 </p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id530990"></a>A.1.1.�Changes in Sourcery CodeBench Lite 2011.09-69</h3></div></div></div><p><b>New Sourcery CodeBench Lite branding.�</b> 8 Sourcery G++ has been renamed to Sourcery CodeBench. 9 <span> 10 This change affects the names of the default installation 11 directory and installer-created shortcuts, but no 12 internal pathnames or tool names within the installation directory 13 have been changed. 14 </span> 15 16 </p><p><b>Internal compiler error with NEON intrinsics.�</b> 17 A compiler bug has been fixed that caused internal compiler 18 errors when using certain NEON intrinsics. 19 </p><p><b>GCC version 4.6.�</b> 20 Sourcery CodeBench Lite for ARM EABI is now based on GCC 21 version 4.6. For more information about changes from GCC 22 version 4.5 that was included in previous releases, see 23 <code class="uri">http://gcc.gnu.org/gcc-4.6/changes.html</code>. 24 </p><p><b>ARM VFP9-S errata workaround.�</b> 25 A compiler workaround for ARM Errata Notice GENC-010704 26 (760019: Canceled FDIV or FSQRT can be executed twice) has been 27 implemented. 28 </p><p><b>Map file name demangling bug fix.�</b> 29 GCC now properly passes the 30 <code class="option">--demangle</code> and <code class="option">--no-demangle</code> 31 options to the linker to control map file output. The default 32 behavior on all hosts is now to demangle C++ names. 33 </p><p><b>GCC stack usage improvement.�</b> 34 GCC now generates better code for stack allocation in some 35 cases when compiling with <code class="option">-fno-strict-aliasing</code>. 36 </p><p><b>Binutils version 2.21.�</b> 37 Sourcery CodeBench Lite for ARM EABI is now based on binutils 38 version 2.21. 39 </p><p><b>Assembler crash.�</b> 40 The assembler now warns when there is line information for 41 the <code class="literal">*ABS*</code> section, rather than crash. 42 This can occur when the <code class="code">.offset</code> directive is 43 used incorrectly. 44 </p><p><b>CS3 bug fix for Xilinx Zynq-7000.�</b> 45 A bug that caused undefined symbol errors in the CS3 library when 46 linking programs for the Xilinx Zynq-7000 has been fixed. 47 </p><p><b>Fix for crash in GDB <code class="command">maint print arch</code>.�</b> 48 A bug in the GDB command <code class="command">maint print arch</code> 49 that sometimes caused GDB to crash has been fixed. 50 </p><p><b>GDB interrupt handling bug fix.�</b> 51 A bug in GDB has been fixed that caused it to sometimes fail 52 to interrupt lengthy single-step operations (as by a 53 <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>C</strong></span> 54 when using GDB from the command line). 55 </p><p><b>Fix GDB crash during connection to debug agent.�</b> 56 A bug has been fixed that caused GDB to crash while connecting 57 to any debug agent through standard IO where the debug agent 58 had detected an early error and terminated the communication. 59 </p><p><b>Improved disassembler performance in the debugger.�</b> 60 GDB's disassembler has been improved to use more efficient memory 61 access on remote targets. 62 </p><p><b>Fix GDB crash in debugging Thumb assembly routines.�</b> 63 A bug in GDB has been fixed that caused a crash when debugging 64 Thumb assembly routines that switch stacks by writing the stack 65 pointer in the function prologue. 66 </p><p><b>Debug Sprite option defaults.�</b> 67 The Sourcery CodeBench Debug Sprite now uses default option values 68 specified in board configuration files. Options included in 69 the device URL override the default values. 70 </p><p><b>Changes to host operating system requirements.�</b> 71 The minimum required Microsoft Windows OS needed to run 72 Sourcery CodeBench Lite is now Windows XP (SP1). 73 </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id531932"></a>A.1.2.�Changes in Sourcery G++ Lite 2011.03-42</h3></div></div></div><p><b>Variable Length Array (VLA) alignment bug.�</b> 74 A compiler bug that resulted in incorrectly aligned variable length 75 arrays (VLA) in leaf functions has been fixed. 76 </p><p><b>Cortex-R5 support.�</b> 77 Sourcery G++ now includes support for ARM Cortex-R5 78 processors. To compile for these processors, 79 use <code class="option">-mcpu=cortex-r5</code>. 80 </p><p><b>Inline assembly and volatile fields.�</b> 81 A bug has been fixed that caused the compiler to incorrectly 82 reject inline <code class="code">asm</code> statements referring to volatile 83 class/struct fields with errors such as <code class="literal">error: output 84 number 1 not directly addressable</code>. 85 </p><p><b>Fixed-point arithmetic support.�</b> 86 Experimental compiler support has been added for fixed-point 87 arithmetic on ARM, as described in the draft ISO/IEC technical 88 report TR 18037. Specialized instructions defined in recent 89 architecture versions for performing saturating arithmetic, 90 etc. are used when available, but are not a prerequisite for 91 using the new language features. See 92 <a class="xref" href="sec-arm-fixed-point.html" title="3.5.�Fixed-Point Arithmetic">Section�3.5, “Fixed-Point Arithmetic”</a> for further details. 93 </p><p><b>C++ constructor bug fix.�</b> 94 A compiler bug has been fixed that caused incorrect code for C++ 95 constructors for some class hierarchies that use virtual inheritance 96 and include empty classes. At runtime, the incorrect constructors 97 resulted in memory corruption or other errors. 98 </p><p><b>Thumb debug information fix.�</b> 99 A compiler bug that resulted in incorrect debug information 100 for Thumb code has been fixed. The incorrect information 101 prevented single stepping through some code. 102 </p><p><b>Internal compiler error with pointer casting.�</b> 103 A compiler bug has been fixed that caused internal compiler 104 errors when accessing double-word memory locations with 105 casted pointers under ARM mode. 106 </p><p><b>Unaligned access support.�</b> 107 The compiler now generates more efficient code for accessing 108 packed data structures and for copying small blocks of 109 unaligned data when targeting architectures that permit 110 unaligned word/halfword accesses. This feature can be 111 controlled by the <code class="option">-munaligned-access</code> and 112 <code class="option">-mno-unaligned-access</code> options, and is enabled 113 by default for ARMv6 processors and above, except for ARMv6-M. 114 </p><p><b>Internal compiler error under Thumb mode.�</b> 115 A compiler bug has been fixed that caused internal compiler 116 errors when generating Thumb code. 117 </p><p><b>Xilinx Zynq-7000 board support.�</b> 118 Sourcery G++ Lite now includes CS3 board support for the Xilinx Zynq-7000. 119 </p><p><b>Debugging M-profile targets with third-party GDB stubs.�</b> 120 A bug in GDB has been fixed that caused the error 121 <code class="literal">Remote 'g' packet reply is too long</code> 122 with ARMv6-M and ARMv7-M targets. 123 The error was reported when connecting to some third-party GDB 124 stubs, including SEGGER GDB Server and OpenOCD, but did not affect 125 the Sourcery G++ Debug Sprite. 126 </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id532272"></a>A.1.3.�Changes in Sourcery G++ Lite 2011.03-13</h3></div></div></div><p><b>GCC fixes for <code class="option">-fstrict-volatile-bitfields</code>.�</b> 127 GCC now honors <code class="option">-fstrict-volatile-bitfields</code> 128 when a bitfield is not declared volatile initially, but an 129 object including bit fields is cast to volatile. 130 Also, a bug was fixed that caused incorrect code to be generated 131 for some stores to volatile bit fields when 132 <code class="option">-fstrict-volatile-bitfields</code> is enabled. 133 </p><p><b>Compiler optimization improvements.�</b> 134 The compiler has been enhanced with a number of optimization 135 improvements, including: 136 </p><div class="itemizedlist"><ul type="disc"><li> 137 Smaller and faster code for compound conditionals. 138 </li><li> 139 Removal of superfluous sign and zero extensions. 140 </li><li> 141 Improved code for multiply-and-accumulate operations on ARM. 142 </li><li> 143 Faster code when tuning for Cortex-M series processors. 144 </li></ul></div><p> 145 </p><p><b>Internal compiler error with NEON intrinsics.�</b> 146 A compiler bug has been fixed that caused internal compiler 147 errors when using certain NEON intrinsics. 148 </p><p><b>GCC version 4.5.2.�</b> 149 Sourcery G++ Lite for ARM EABI is now based on GCC version 4.5.2. 150 </p><p><b>GCC code generation bug for casts to <code class="code">volatile</code> 151 types.�</b> 152 A compiler bug has been fixed that sometimes caused incorrect code 153 for references to pointers to types with <code class="code">volatile</code> casts. 154 </p><p><b>Incorrect optimization fix.�</b> 155 An optimizer bug that in rare cases caused incorrect code to 156 be generated for complex AND and OR expressions containing 157 redundant subexpressions has been fixed. 158 </p><p><b>Incorrect C++ warning fixed.�</b> 159 A bug in GCC has been fixed that caused spurious warnings 160 about lambda expressions in C++ code that does not use them. 161 </p><p><b>GCC fixes for NEON in big-endian mode.�</b> 162 Several compiler bugs have been fixed that could lead to 163 incorrect code when using NEON in big-endian mode. The problems 164 only manifested when using the auto-vectorizer (enabled by 165 default at the <code class="option">-O3</code> optimization level) with 166 the <code class="option">-mvectorize-with-neon-quad</code> option. 167 </p><p><b>Incorrect code for built-in comparison functions.�</b> 168 A bug has been fixed that sometimes caused GCC's built-in 169 comparison functions, 170 such as <code class="function">__builtin_isgreaterequal</code>, to 171 incorrectly raise exceptions when invoked on unordered 172 floating-point arguments. 173 </p><p><b>C++ exception handling.�</b> 174 A defect in the implementation of the EH-ABI specification 175 has been fixed. The defect affected the catching of pointer 176 types in code generated by the ARM <span class="trademark">RealView</span>� compiler but using 177 the Sourcery G++ runtime libraries. The fix also retains 178 backward compatibility with existing GCC-compiled code. 179 </p><p><b>GCC bug where accesses to volatile structure fields are optimized away.�</b> 180 A bug has been fixed where accesses to volatile fields of a structure 181 were sometimes incorrectly optimized away if the structure instance 182 was defined as non-volatile. 183 </p><p><b>Internal compiler error fixes.�</b> 184 Two bugs have been fixed that caused compiler crashes in rare cases. 185 The first bug involved code with multiple comparison operations, 186 and the second one involved <code class="type">char</code> to <code class="type">int</code> 187 conversion. 188 </p><p><b>Thumb-2 assembler validation fix.�</b> 189 The assembler now correctly rejects Thumb-2 190 <code class="literal">ADD</code>, <code class="literal">ADDS</code>, 191 <code class="literal">SUB</code>, and <code class="literal">SUBS</code> 192 instructions that have an invalid shift operand. 193 Previously, invalid shift values were accepted and 194 generated unpredictable instructions. 195 </p><p><b>Objdump fix for multiple input files.�</b> 196 The Objdump utility did not produce correct disassembly 197 when processing multiple input files. This has been fixed. 198 </p><p><b>CS3 interrupt handlers.�</b> 199 CS3 now provides separate ISR functions for each core 200 processor exception, rather than aliasing them all to a 201 single interrupt handler. This provides more useful backtrace 202 information in the debugger. 203 </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id532972"></a>A.1.4.�Changes in Sourcery G++ Lite 2010.09-51</h3></div></div></div><p><b>GCC fix for duplicated symbols.�</b> 204 A GCC optimizer bug that caused multiple definitions of 205 local symbols has been fixed. Code affected by the bug 206 was rejected by the assembler. 207 </p><p><b>NEON code generation fix.�</b> 208 A GCC bug has been fixed that resulted in an assembler error 209 <code class="literal">VFP/Neon double precision register expected</code>. 210 </p><p><b>Static data size improvement at <code class="option">-Os</code>.�</b> 211 When optimizing for size, the compiler no longer implicitly 212 adds padding bytes to align static and local arrays on 213 word boundaries. 214 This fixes static data size regressions introduced since GCC 4.4. 215 The additional alignment is still used when optimizing for speed. 216 </p><p><b>New <code class="option">-fstrict-volatile-bitfields</code> option.�</b> 217 The compiler has a new 218 option, <code class="option">-fstrict-volatile-bitfields</code>, which 219 forces access to a volatile structure member using the width 220 that conforms to its type. 221 <span> 222 This option is enabled by default to conform to the ARM EABI. 223 </span> 224 225 Refer to the GCC manual for details. 226 </p><p><b>Internal compiler error fixes.�</b> 227 A bug has been fixed that caused the compiler to crash 228 on code containing a <code class="literal">typedef</code> alias 229 for <code class="type">__builtin_va_list</code> with option 230 <code class="option">-femit-struct-debug-baseonly</code>. 231 232 A second bug has been fixed that caused a crash 233 when compiling code using C99 variable-length arrays. 234 <span> 235 Additionally, a compiler crash on code using 236 64-bit integer multiplications with NEON vectorization enabled 237 has also been fixed. 238 </span> 239 </p><p><b>NEON narrowing-move instructions.�</b> 240 The compiler now supports narrowing-move instructions 241 when auto-vectorizing for NEON. Loops accessing arrays of 242 <code class="type">char</code> or <code class="type">short</code> values are now more 243 likely to be vectorized. 244 </p><p><b>Improved support for atomic memory builtins.�</b> 245 The compiler support for built-in atomic memory access 246 operations on ARMv7 targets has been improved. 247 These builtins are documented in the GCC manual. 248 </p><p><b>Linker debug information fix.�</b> 249 A bug in linker processing of debug information has been 250 fixed. The bug sometimes prevented the Sourcery G++ debugger from 251 displaying source code if the executable was linked 252 with the <code class="option">--gc-sections</code> option. 253 </p><p><b>Absolute branch bug fixes.�</b> 254 A bug that caused the assembler to crash on a branch 255 to an absolute address has been fixed. Linker handling of the 256 resulting relocations has also been improved. Previously this 257 caused an invalid switch to ARM mode on ARMv7-M devices. 258 </p><p><b><code class="code">VMOV</code> instruction bug fix.�</b> 259 A bug that caused the assembler to incorrectly reject 260 certain valid immediate operands for the <code class="code">VMOV</code> 261 instruction has been fixed. 262 </p><p><b>Debugger warnings quieted.�</b> 263 GDB no longer prints <code class="literal">RMT ERROR</code> diagnostics 264 on connection to the Sourcery G++ Debug Sprite. 265 In spite of the alarming appearance of the messages, they were 266 not actually indicative of a serious problem. 267 </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id533342"></a>A.1.5.�Changes in Sourcery G++ Lite 2010.09-22</h3></div></div></div><p><b>Changes to Sourcery G++ version numbering.�</b> 268 Sourcery G++ product and Lite toolchains now uniformly use 269 a version numbering scheme of the form 2011.09-69. 270 The major and minor parts of the version number, in this 271 case 2011.09, identify the release branch, 272 while the final component is a build number within the branch. 273 There are also new preprocessor macros defined by the compiler 274 for the version number components so that you may conditionalize 275 code for Sourcery G++ or particular Sourcery G++ versions. 276 Details are available in the 277 <a class="ulink" href="https://support.codesourcery.com/GNUToolchain/kbentry1" target="_top"> 278 Sourcery G++ Knowledge Base</a>. 279 </p><p><b>GCC fix for reference to undefined label.�</b> 280 A bug in the optimizer that caused GCC to emit references 281 to undefined labels has been fixed. 282 </p><p><b>Precision improvement with vectorization enabled.�</b> 283 The GCC auto-vectorizer no longer uses 284 NEON floating-point instructions unless the 285 <code class="option">-funsafe-math-optimizations</code> option (implied 286 by <code class="option">-ffast-math</code>) is specified. This is because 287 NEON hardware does not fully support the IEEE 754 standard for 288 floating-point arithmetic. In particular, very small quantities 289 may be flushed to zero. 290 </p><p><b>Alignment attributes.�</b> 291 A bug has been fixed that caused the compiler to ignore 292 alignment attributes of C++ static member variables where 293 the attribute was present on the definition, but not the 294 declaration. 295 </p><p><b><code class="code">naked</code> attribute semantics.�</b> 296 The <code class="code">naked</code> function attribute now also implies the 297 <code class="code">noinline</code> and <code class="code">noclone</code> attributes. 298 This fixes bugs resulting from invalid optimizations of functions 299 with this attribute. 300 </p><p><b>Stack corruption bug fix.�</b> 301 A bug in GCC has been fixed that caused stack corruption 302 in functions with the <code class="code">interrupt</code> attribute. 303 </p><p><b>GCC bug fix for push multiple instruction generation.�</b> 304 A bug has been fixed that caused GCC to generate incorrect 305 push multiple instructions, causing an assembler warning 306 <code class="literal">register range not in ascending order</code>. 307 </p><p><b>Thumb-2 internal compiler error fix.�</b> 308 A bug has been fixed that caused the compiler to crash 309 when compiling Thumb-2 code using 64-bit integer arithmetic. 310 </p><p><b>Compiler optimization improvements.�</b> 311 The compiler has been enhanced with a number of optimization 312 improvements, including: 313 </p><div class="itemizedlist"><ul type="disc"><li> 314 More efficient assignment for structures containing bitfields. 315 </li><li> 316 Better code for initializing C++ arrays with explicit 317 element initializers. 318 </li><li> 319 Improved logic for eliminating/combining redundant comparisons in 320 code with nested conditionals. 321 </li><li> 322 Better selection of loop variables, resulting in fewer 323 temporaries and more efficient register usage. 324 </li><li> 325 More optimization of references to globals in 326 position-independent code. 327 </li><li> 328 Various Thumb code generation improvements. 329 </li><li> 330 Better code when constant addresses are used as arguments to 331 inline assembly statements. 332 </li><li> 333 Better code for copying small constant strings. 334 </li><li> 335 Improved tuning for Cortex-M4 processors. 336 </li><li> 337 Cortex-A9 specific tuning for VFP and NEON instructions. 338 </li><li> 339 Use of more NEON features. 340 </li></ul></div><p> 341 </p><p><b>Preprocessor symbols for floating-point calling convention.�</b> 342 Built-in preprocessor symbols <code class="symbol">__ARM_PCS</code> and 343 <code class="symbol">__ARM_PCS_VFP</code> are now defined to indicate 344 the current floating-point calling convention. 345 </p><p><b>GCC version 4.5.1.�</b> 346 Sourcery G++ Lite for ARM EABI is now based on GCC version 4.5.1. 347 For more information about changes from GCC version 4.4 that was 348 included in previous releases, see 349 <code class="uri">http://gcc.gnu.org/gcc-4.5/changes.html</code>. 350 </p><p><b>New <code class="option">-Wdouble-promotion</code> warning 351 option.�</b> 352 The compiler has a new 353 option, <code class="option">-Wdouble-promotion</code>, which enables 354 warnings about implicit promotions of <code class="type">float</code> 355 values to <code class="type">double</code>. This option is useful when 356 compiling code for processors (such as ARM Cortex-M4) that 357 have hardware support for single-precision floating-point 358 arithmetic only, where unintentional use of double precision 359 results in dramatically slower code. 360 </p><p><b>Linker bug fix.�</b> 361 A bug that caused the linker error <code class="literal">relocation 362 truncated to fit: R_ARM_THM_JUMP24</code> when linking 363 some Thumb-2 applications has been fixed. 364 </p><p><b>Assembler PC-relative store fix.�</b> 365 A bug that caused the assembler to reject some valid 366 PC-relative store instructions has been fixed. It now 367 issues a warning instead for architectures where these 368 instructions are deprecated. 369 </p><p><b>ARMv7-A linker bug fix.�</b> 370 A bug in the linker support for <code class="option">--fix-cortex-a8</code>, 371 which is enabled by default when linking ARMv7-A objects, has been 372 fixed. Programs affected by the bug sometimes crashed with 373 segmentation fault or illegal instruction errors. 374 </p><p><b>Smaller C++ programs with <code class="option">-g</code>.�</b> 375 An assembler bug has been fixed that caused unnecessary references 376 to exception-handling routines from C++ programs when debug 377 information is enabled. For programs that do not otherwise 378 use exceptions, this change results in smaller code size. 379 </p><p><b>Additional validation in the assembler.�</b> 380 The assembler now diagnoses an error, instead of producing 381 an invalid object file, when directives such as 382 <code class="literal">.hidden</code> are missing operands. 383 384 </p><p><b>Assembler PC-relative load fix.�</b> 385 An assembler bug that caused the assembler to reject some 386 references to global symbols has been fixed. This 387 bug affected Thumb instructions of the form 388 <code class="literal">ldr r0, <em class="replaceable"><code>symbol</code></em></code>. 389 </p><p><b>Strip bug fix.�</b> 390 A bug in the <code class="command">strip</code> and 391 <code class="command">objcopy</code> utilities, which resulted in 392 stripped object files that the linker could not recognize, 393 has been fixed. 394 </p><p><b>Binutils update.�</b> 395 The binutils package has been updated to version 396 2.20.51.20100809 from the FSF trunk. This update includes 397 numerous bug fixes. 398 </p><p><b>Additional alignment in CS3-defined linker scripts.�</b> 399 Sourcery G++ now ensures 8-byte alignment at additional points 400 in CS3-defined linker scripts. Previously, placing a symbol 401 in certain sections broke the initialization of 402 the <code class="literal">.data</code> and/or <code class="literal">.bss</code> 403 sections. 404 </p><p><b>Newlib update.�</b> 405 The Newlib package has been updated to version 1.18.0, with 406 additions from the community CVS trunk as of 2010-08-12. 407 This update provides additional wide-character functions, 408 along with other bug fixes and enhancements. 409 </p><p><b><code class="function">malloc</code> fix.�</b> 410 A bug that sometimes caused <code class="function">free</code> to 411 dereference an invalid address has been fixed. The bug was 412 caused by incorrect handling 413 within <code class="function">malloc</code> of calls 414 to <code class="function">sbrk</code> from outside 415 of <code class="function">malloc</code>. 416 </p><p><b> 417 Improved support for debugging <span class="trademark"> 418 RealView</span>� C++ programs 419 .�</b> 420 GDB has been enhanced to handle some debug information 421 contained in binaries produced by the 422 ARM <span class="trademark">RealView</span>� 423 compiler. Formerly, GDB sometimes crashed on programs 424 which use C++ templates. 425 Another bug has been fixed that caused GDB to fail to place 426 breakpoints in binaries produced by the 427 ARM <span class="trademark">RealView</span>� 428 compiler when the source file location for the breakpoint was 429 specified as an absolute pathname. 430 </p><p><b>GDB update.�</b> 431 The included version of GDB has been updated to 432 7.2.50.20100908. This update adds numerous bug fixes and 433 new features, including improved C++ language support, 434 a new command to save breakpoints to a file, 435 a new 436 convenience variable <code class="varname">$_thread</code> that holds 437 the number of the current thread, among many other 438 improvements. 439 </p><p><b>GDB crash fix.�</b> 440 A bug has been fixed that caused GDB to crash on launch if 441 the environment variable <code class="literal">CYGPATH</code> is set 442 to a program that does not exist or cannot be executed. 443 </p><p><b>Debug Sprite abnormal termination bug fix.�</b> 444 The Sourcery G++ Debug Sprite no longer terminates abnormally 445 if GDB is killed while the target is waiting for semihosted 446 I/O to complete. The bug was only triggered when running GDB 447 on a Windows host. 448 </p><p><b>Semihosting support for <code class="function">gettimeofday</code>.�</b> 449 The Sourcery G++ Debug Sprite now provides a semihosted implementation 450 of the <code class="function">gettimeofday</code> C library function. 451 </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id534539"></a>A.1.6.�Changes in Older Releases</h3></div></div></div><p> 452 For information about changes in older releases of 453 Sourcery G++ Lite for ARM EABI, 454 please refer to the Getting Started guide packaged with those 455 releases. 456 </p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch07s03.html">Prev</a>�</td><td width="20%" align="center">�</td><td width="40%" align="right">�<a accesskey="n" href="chap-license.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">7.3.�Manuals for GNU Toolchain Components�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�Appendix�B.�Sourcery CodeBench Lite Licenses</td></tr></table></div></body></html> 457