Table of Contents
This section documents Sourcery CodeBench Lite changes for each released revision.
Unexpected termination.
An LD bug that caused executables compiled with
-mips16
to terminate unexpectedly
has been fixed.
Fix thread-safe library support. A bug has been fixed that disabled thread safety in the libraries included with Sourcery CodeBench Lite for MIPS ELF.
GCC version 5.3.
Sourcery CodeBench Lite for MIPS ELF is now based on GCC
version 5.3. For more information about changes from GCC
version 5.2 that was included in previous releases, see
https://gcc.gnu.org/gcc-5/changes.html
.
-mnon-pic-abicalls
support.
GAS no longer supports the option -mnon-pic-abicalls
.
-call_nonpic
can be used instead.
Removal of MIPS ELF converter tool.
The MIPS ELF converter tool mips-sde-elf-conv
has
been removed from Sourcery CodeBench Lite.
Fix for silent truncation when out of disk space on Windows. On Microsoft Windows hosts, programs in the GNU binary utilities sometimes failed to report an error when there was insufficient space for the output file, and instead created a truncated file. This is now fixed.
GBD backtrace fix.
A bug that caused missing backtrace information in GDB for
applications compiled with -mips16
has been fixed.
GDB wide character printing on Windows.
On Microsoft Windows hosts, GDB now prints wide character
and wide string values by assuming a UTF-32 encoding.
Previously, wchar_t
strings printed as a sequence
of byte values, as if the contents were a non-wide
char
string.
Breakpoint in non-existent file bug fix.
A GDB bug that caused an internal error when setting a
breakpoint from a Windows host has been fixed. The error was
generated when using break
where the filename
:linenumber
filename
string included the
Windows logical volume (for example, C:
), and
the file did not exist or was not used in the program.
GDB backtrace failure.
An LD bug that caused GDB backtraces to fail when using the
-mips16
option has been fixed.
DWARF signed LEB128 encoding fix.
An assembler bug has been fixed that caused it to generate
unnecessarily long encodings for .sleb128
constants, used in DWARF debug information.
Soft-float link error fix.
A CS3 bug has been fixed that caused undefined symbol errors when
linking some programs with -msoft-float
libraries.
GDB separate debug information fix. A GDB bug has been fixed that caused it to fail to locate the separate debug information for executables containing a build ID section.
Installer change error.
A bug that affected re-running the installer to update an existing
Sourcery CodeBench Lite installation has been fixed. The bug caused selecting
Change
and then Cancel
to
corrupt the existing install.
GCC version 5.2.
Sourcery CodeBench Lite for MIPS ELF is now based on GCC
version 5.2. For more information about changes from GCC
version 4.9 that was included in previous releases, see
https://gcc.gnu.org/gcc-5/changes.html
. Note that
a new release numbering scheme has been adopted beginning with
GCC 5; for details see
https://gcc.gnu.org/develop.html#num_scheme
.
Change to GCC -save-temps
output.
GCC no longer forces verbose assembly language output
(-fverbose-asm
) when the
-save-temps
option is used.
Assembler support for XLP. Assembler support for the XLP architecture has been removed.
Binutils update. The binutils package has been updated to version 2.25.51 from the FSF trunk, git revision cdaec3f3e7ea9118204f0e579bd3257234fbae63. This update includes numerous bug fixes.
Removal of IEEE 754-2008 deprecated options.
The deprecated options -mabs2008
,
-mno-abs2008
, -mnan2008
, and
-mno-nan2008
are no longer supported by GCC and
GAS. They have been replaced by the -mnan=2008>
and the -mnan=legacy
options. For more information,
please refer to the compiler and assembler manuals.
Newlib update. The Newlib package has been updated to version 2.2.0.
GDB internal error fix.
A bug has been fixed that caused GDB to crash with an internal
error in get_frame_id
when it encounters
invalid data while generating a backtrace. An example of when
this can occur is when the current program location is in a
hand-coded assembly routine that does not maintain a valid
stack frame.
GDB update.
The version of GDB has been updated to 7.10.50-cvs, git
revision cdaec3f3e7ea9118204f0e579bd3257234fbae63.
This update adds numerous bug fixes and features. Refer
to http://www.gnu.org/software/gdb/news
for
more information.
Floating-point zero sign fixes. Several bugs causing QEMU to fail to conform to the IEEE 754 standard for floating-point arithmetic were fixed. These bugs caused the results of some arithmetic operations yielding zero to have the incorrect sign.
Failure to find linker fixed.
A bug that caused GCC's -fuse-ld=bfd
option to
fail has been fixed.
Add declaration for __cs3_reset
.
The __cs3_reset
symbol is now defined in
cs3.h
, allowing
applications to perform a soft reset without having to
explicitly define that symbol.
GDB simulator removed. The built-in MIPS processor simulator has been removed from the debugger.
Remove XLP Sprite backend. The XLP backend has been removed from the Sourcery CodeBench Debug Sprite.
GCC version 4.9.2.
Sourcery CodeBench Lite for MIPS ELF is now based on GCC
version 4.9.2. This update fixes a number of bugs; for
details, see
http://gcc.gnu.org/gcc-4.9/changes.html
.
GDB memory corruption bug fix. A bug in support for long pathnames on Windows hosts has been fixed that could lead to memory corruption, causing potential crashes and unpredictable behavior.
GDB source code display fix. A bug has been fixed that prevented GDB from displaying source code from assembly files during single-stepping.
QEMU version 2.2.0.
The version of QEMU included with Sourcery CodeBench Lite for MIPS ELF
has been updated to version 2.2.0, corresponding to git revision
45e1611de8be0eae55967694dd6e627c2dc354f2. For information about
changes in this version, see
http://wiki.qemu.org/ChangeLog/2.2
.
No significant changes. There are no significant changes for MIPS ELF in this release.
Bug fix for incorrect code.
A bug that caused incorrect code to be generated
when compiling with the -pg
and
-fuse-caller-save
options has been fixed.
Windows reserved filename bug fix.
A bug has been fixed that prevented the compiler
and other tools from recognizing Microsoft Windows
reserved filenames, such as NUL
.
MIPS new processor support.
GCC now supports the MIPS32R3, MIPS32R5, MIPS64R3, and MIPS64R5
processors. You can use the command line options
-march=mips32r3
, -march=mips32r5
,
-march=mips64r3
, and
-march=mips64r5
to enable code generation for
these targets.
MIPS XPA support.
GAS now supports the MIPS eXtended Physical Address (XPA) ASE.
You can specify the -mxpa
option to
GCC and GAS to indicate that XPA instructions are being
used.
CS3 linker script bug fix.
A bug in CS3 has been fixed that caused linker scripts
for some targets to assign data associated with the
--build-id
linker option to
inappropriate memory regions, such as boot ROM.
Optimized strcmp
.
strcmp
has now been optimized for speed.
Complex variables manipulation fix. A bug has been fixed that caused GDB to corrupt complex variables living in registers whenever their values were modified.
Long path support on Windows hosts. Sourcery CodeBench Lite on Microsoft Windows hosts now supports source and object files with paths longer than 259 characters. (These were already supported on GNU/Linux hosts.)
Internal compiler error fix.
GCC now issues a diagnostic instead of crashing with an
internal compiler error on code using register
and asm
to assign variables to registers that
are reserved for special purposes (such as the program
counter) or are otherwise unsuitable for the type of the
variable.
Internal compiler error fix.
A bug in GCC has been fixed that sometimes caused internal
compiler errors in var-tracking.c
when
compiling with optimization and debug information enabled.
GCC version 4.9.1.
Sourcery CodeBench Lite for MIPS ELF is now based on GCC
version 4.9.1. For more information about changes from GCC
version 4.8 that was included in previous releases, see
http://gcc.gnu.org/gcc-4.9/changes.html
.
Fix for debug information bug.
A bug has been fixed that caused errors in the GNU binary
utilities, such as running out of memory during linking or
displaying incorrect section sizes in objdump. The bug was
triggered by objects containing uncompressed debug information
for symbols whose names start with ZLIB
.
Fix for initialization of arguments to main
.
A bug in CS3 has been fixed that caused the values of
argc
and argv
passed
to main
to be uninitialized on 64-bit targets.
Newlib update. The Newlib package has been updated to version 2.1.0, with additions from the community CVS trunk as of 2014-06-03.
GDB set mips compression
command bug fix.
A bug in the GDB set mips compression
command
has been fixed that caused it to have no effect.