What's new in 5-2016-q3-update
New features:
- Armv8-M Baseline and Mainline beta support:
+ Armv8-M Baseline atomics support - Arm PureCode support
- Thumb-2 long branch veneers
Important bugs fixed in 5 update 3 release:
- Removed MSP_S and PSP_S MRS/MSR special registers
- Fixed Thumb version detection in veneer generation
- Fixed documentation about newlib-nano in release.txt
Release Note for GNU Arm Embedded Toolchain Downloads 5-2016-q3-update
This release includes the following items:
* Bare metal EABI pre-built binaries for running on a Windows host
* Bare metal EABI pre-built binaries for running on a Linux host
* Bare metal EABI pre-built binaries for running on a Mac OS X host
* Source code package (together with build scripts and instructions to setup
build environment), composed of:
* gcc : ARM/embedded-5-branch revision 240432
http://gcc.gnu.org/svn/gcc/branches/ARM/embedded-5-branch/
* binutils : 2.26 prerelease with mainline backports
git://sourceware.org/git/binutils-gdb.git commit 9dd9f850edab6ea48293ef6b1000ce178e9016f0
* newlib and newlib-nano : current master with mainline backports
git://sourceware.org/git/newlib-cygwin.git commit f763e2dc88d04430dd2524a529eef91a2e517e4e
* gdb : 7.10 without target sim support
git://sourceware.org/git/binutils-gdb.git commit 23c16316b1309b20016a74c50025c9d62c237de8
* cloog 0.18.0 :
ftp://gcc.gnu.org/pub/gcc/infrastructure/cloog-0.18.0.tar.gz
* expat 2.0.1 :
http://jaist.dl.sourceforge.net/project/expat/expat/2.0.1/expat-2.0.1.tar.gz
* gmp 4.3.2 : ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-4.3.2.tar.bz2
* libelf 0.8.13 : http://www.mr511.de/software/libelf-0.8.13.tar.gz
* libiconv 1.14 :
http://ftp.gnu.org/gnu/libiconv/libiconv-1.14.tar.gz
* mpc 0.8.1 : ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-0.8.1.tar.gz
* mpfr 2.4.2 : ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-2.4.2.tar.bz2
* isl 0.12.2 : ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.12.2.tar.bz2
* zlib 1.2.8
http://sourceforge.net/projects/libpng/files/zlib/1.2.8/zlib-1.2.8.tar.gz/download
Supported hosts:
* Windows 7 32/64 bits (with installer and alternative zip package)
* Linux 32/64 bits
- Ubuntu 8.x or later (tarball)
- Ubuntu 12.04/14.04/15.04/15.10/16.04 (tarball and PPA)
- RHEL 4/5/6/7 (tarball)
* Mac OS X 10.7.3 and newer 64 bits (tarball)
Supported target OS:
* Bare metal EABI only.
Features:
* All GCC 5 features, plus latest mainline features:
+ Cortex-R8 support
+ Cortex-M7 performance tuning
+ optimization of manual little endian and big endian loads
+ improved jump threading removing the need for -ftree-switch-shortcut
* Armv8-M Baseline and Mainline beta support:
+ Armv8-M Security Extensions Alpha support
* Arm PureCode support
* Thumb-1 library optimizations
+ https://gcc.gnu.org/ml/gcc-patches/2015-10/msg01282.html
* CRC optimization
+ https://gcc.gnu.org/ml/gcc-patches/2015-11/msg02046.html
* Smaller terminate handler for newlib-nano
* Re-tied the MALLOC_LOCK and MALLOC_UNLOCK to newlib's multithread configuration for newlib-nano.
* Thumb-2 long branch veneers.
Tests:
* Tested on a variety of Cortex-M0/M0+/M3/M4/M7/A9 boards
* Tested on Qemu
* Tested on Arm Fast Models
Important bugs fixed in 5 update 1 release:
* https://answers.launchpad.net/gcc-arm-embedded/+question/267037
* https://bugs.launchpad.net/gcc-arm-embedded/+bug/1534360
* https://answers.launchpad.net/gcc-arm-embedded/+question/286502
* A bug that caused gdb's target remote command to behave unexpectedly when
debugging simple programs
Important bugs fixed in 5 update 2 release:
* Fixed code-size regression for Cortex-M0 compared to 4.9 when compiling with -Os
* Fix multilib used for armv8-m.main+dsp
* Fix use of --gc-sections when building for Armv8-M with Security Extensions
* Fix memcpy used for newlib-nano for pre Armv6T2 devices
* Fix alignment of .data in ldscripts in samples
* Fix semihosting for Armv7-A and Armv7-R
Important bugs fixed in 5 update 3 release:
* Removed MSP_S and PSP_S MRS/MSR special registers
* Fixed Thumb version detection in veneer generation
* Fixed documentation about newlib-nano in release.txt
Known Changes and Issues:
* Thumb1 code size regression due to new register allocation:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61578
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59535
A workaround is to disable it by option -mno-lra.
* The use of 64-bit atomic operations for Armv8-M is not supported.