• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/toolchains/hndtools-armeabi-2011.09/share/doc/arm-arm-none-eabi/html/getting-started/
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, &#8220;Fixed-Point Arithmetic&#8221;</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