Release notes for ************************************************* GNU Tools for ARM Embedded Processors 5 - Q1 2016 ************************************************* 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 234589 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 de92984250bc45388b819b9879a857029c8847e6 * newlib and newlib-nano : current master with mainline backports git://sourceware.org/git/newlib-cygwin.git commit c8022ae3f0b6e2652c59932aaf7609725842a987 * gdb : 7.10 without target sim support git://sourceware.org/git/binutils-gdb.git commit 718b36fead887693158396b948d7f409b987c053 * 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 (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 alpha support: + atomics not included for ARMv8-M Baseline + ARMv8-M Security Extensions Alpha 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 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 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 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.