Table of Contents
This section documents Sourcery CodeBench Lite changes for each released revision.
GCC -fremove-local-statics
option.
GCC no longer supports the -fremove-local-statics
command-line option. The optimizations formerly controlled by
this option are now carried out automatically by other
optimization passes.
GCC version 4.8.1.
Sourcery CodeBench Lite for ARM EABI is now based on GCC
version 4.8.1. For more information about changes from GCC
version 4.7 that was included in previous releases, see
http://gcc.gnu.org/gcc-4.8/changes.html
.
Incorrect optimization fix. A bug in GCC that caused it to generate wrong code for some conditionally-executed statements has been fixed.
Binutils update. The binutils package has been updated to version 2.23.52.20130912 from the FSF trunk. This update includes numerous bug fixes.
Improved support for STMicroelectronics STM32F1xx devices. Peripheral register browsing information for STMicroelectronics STM32F100xx, STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx, and STM32F107xx devices have been updated to the latest released information from ARM.
Altera Cyclone V support. Sourcery CodeBench Lite now includes support for the Altera Cyclone V development board.
Improved support for STMicroelectronics STM32F4xxxx devices. CS3 now provides peripheral register browsing information to the debugger for STMicroelectronics STM324F40x, STM32F41x, STM32F427x, and STM32F437x devices.This allows the user to view peripheral register values during program debugging.
Stellaris reset bug fix.
A bug in the CS3 reset sequence for the Stellaris EKC-LM3S9D90
and EKC-LM3S9D92 platforms that caused ROM to be mapped to address
0x0
after reset has been fixed.
Changed the CS3 API for passing arguments to main
.
CS3 now requires that the function that initializes arguments
passed to main
be named
__cs3_init_args
.
See Section 5.2.3, “The C Initialization Phase” for details.
Newlib crash fix. A bug that caused Newlib to sometimes crash when used with a C++ program that has more than 31 static objects has been fixed.
Newlib update. The Newlib package has been updated to version 2.0.0, with additions from the community CVS trunk as of 2013-07-06. This update provides various C99/POSIX cleanups along with other bug fixes and enhancements.
GDB update.
The version of GDB has been updated to 7.6.50.20130726-cvs.
This update adds numerous bug fixes and features. Refer
to http://www.gnu.org/software/gdb/news
for
more information.
Improved GDB diagnostic.
GDB now issues an error message when an invalid option
is passed to the add-symbol-file
command.
GDB support for removing symbols.
GDB now supports the remove-symbol-file
command.
Refer to the GDB manual for full documentation.
New GDB command.
GDB now supports the remove-symbol-file
command.
Compile caching on Windows hosts. Compile caching is now available on both Linux and Windows hosts.
cs-rm -f
bug fix.
A bug that caused cs-rm -f
on
Windows hosts to incorrectly issue an error when
passed a glob pattern that matched nothing has been
fixed.
New installer. The installer has changed. Please refer to Section 2.4, “Installing Sourcery CodeBench Lite” for more details. Previous versions of Sourcery CodeBench Lite cannot be updated. You must uninstall the previous version or choose a different directory during installation.
GCC version 4.7.3.
Sourcery CodeBench Lite for ARM EABI is now based on GCC
version 4.7.3. This update incorporates numerous bug fixes.
For more information, see
http://gcc.gnu.org/gcc-4.7/changes.html
.
Installer warnings fixed.
A bug that caused Gtk warnings relating to
libappmenu.so
when running the installer
on 64-bit Ubuntu GNU/Linux hosts has been fixed.
C++ fix for ARMv6-M. A bug that prevented C++ multiple inheritance from working in position-independent code compiled for ARMv6-M has been fixed.
Multilib selection bug fix.
A compiler bug that caused the wrong multilib
to be chosen when compiling with -mthumb
-mcpu=cortex-m4 -mfloat-abi=softfp
has
been fixed.
Pointer comparison bug fixed. A bug in GCC that caused it to incorrectly optimize away a pointer comparison has been fixed.
Incorrect optimization bug fix.
A compiler bug has been fixed that caused incorrect code to be
generated for some comparisons unless optimization was suppressed
with -fno-forward-propagate
.
Performance regression fixed. A bug that introduced unnecessary instructions to
zero-extend unsigned char
or short
values
has been fixed.
Linker raw binary input crash fix.
A bug that caused the linker to crash when linking binary
inputs (--format=binary
) while using
--gc-sections
has been fixed.
Linker assertion failure fix. A linker bug has been fixed that caused an assertion failure when linking unoptimized code using thread-local storage.
ldralt
assembly bug fix.
A bug that caused the assembly of ldralt
instructions to sometimes produce the error message
selected processor does not support ARM mode
has been fixed.
Binutils update. The binutils package has been updated to version 2.23.52.20130219 from the FSF trunk. This update includes numerous bug fixes.
GDB hang fix. A bug that caused GDB to sometimes hang when setting a breakpoint has been fixed.
Code size optimization improvement.
When compiling with -Os
or -O2
and higher GCC no longer enables the -funroll-loops
option by default. This change reduces the size of optimized code
produced by Sourcery CodeBench and brings its behavior back into conformance
with other GCC distributions.
For more information about the tradeoffs between optimizing for
size versus speed please see the
Sourcery CodeBench Knowledge Base
.
Loop optimization bug fix.
A compiler bug that caused some forms
of loop to be mis-optimized when using the
-fpromote-loop-indices
option
(enabled by default when optimizing for
speed) has been fixed.
Wrong-code bug fix. A bug in GCC's scheduler has been fixed that sometimes caused incorrect code to be generated.
GDB simulator removed.
The built-in ARM processor simulator has been removed from the
debugger. The stand-alone arm-none-eabi-run
executable has also been removed.
Updated system requirements. The host operating system requirements for Sourcery CodeBench Lite have been updated. The minimum versions of GNU/Linux now supported are Red Hat Enterprise Linux 5, SuSE Enterprise Linux 10, Fedora Core 6, Ubuntu 8.04, and Debian 5, or later versions of these distributions running on 32-bit or 64-bit Intel or AMD CPUs.
GCC version 4.7.2.
Sourcery CodeBench Lite for ARM EABI is now based on GCC
version 4.7.2. For more information about changes from GCC
version 4.6 that was included in previous releases, see
http://gcc.gnu.org/gcc-4.7/changes.html
.
Select correct multilib for -mcpu=cortex-a15
.
A GCC bug has been fixed that caused an incorrect multilib to
be selected when compiling with -mcpu=cortex-a15
.
Incorrect warnings for naked functions fixed.
A bug in the C++ compiler has been fixed that caused it to
incorrectly warn about missing return statements in functions
with the naked
attribute, which can only include
inline assembly statements.
Linker script symbols.
The linker now supports a new HIDDEN
keyword to define
symbols with object scope. Refer to the linker manual for details.
Binutils version 2.23. Sourcery CodeBench Lite for ARM EABI is now based on binutils version 2.23.
Fix for interrupts on Cortex-M3. A bug in CS3 has been fixed that caused errors while linking RAM-profile applications using interrupts for Cortex-M3 targets.
Support for Xilinx ZC702 Evaluation Kit. Sourcery CodeBench Lite now includes support for creating and debugging of applications for the Xilinx Zynq-7000 EPP ZC702 Evaluation Kit.
GDB update.
The included version of GDB has been updated to
7.4.50.20120716. This update adds numerous bug fixes and
features. Refer to http://www.gnu.org/software/gdb/news
for more information.
Removal of the Sourcery CodeBench Debug Sprite. The Sourcery CodeBench Debug Sprite has been removed.