GNU ARM Embedded Toolchain 4.9-2015-q3-update

Update 4.9 in Q3 2015

Milestone information

Project:
GNU ARM Embedded Toolchain
Series:
4.9
Version:
4.9-2015-q3-update
Released:
2015-09-25  
Registrant:
Tejas Belagod
Release registered:
2015-09-25
Active:
Yes. Drivers can target bugs and blueprints to this milestone.  

Download RDF metadata

Activities

Assigned to you:
No blueprints or bugs assigned to you.
Assignees:
1 Thomas Preud'homme
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
1 Fix Released

Download files for this release

After you've downloaded a file, you can verify its authenticity using its MD5 sum or signature. (How do I verify a download?)

File Description Downloads
download icon release.txt (md5) Release notes 4,384
last downloaded today
download icon gcc-arm-none-eabi-4_9-2015q3-20150921-win32.exe (md5) Windows installer 208,318
last downloaded today
download icon gcc-arm-none-eabi-4_9-2015q3-20150921-win32.zip (md5) Windows zip package 85,158
last downloaded today
download icon gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2 (md5) Linux installation tarball 94,484
last downloaded today
download icon gcc-arm-none-eabi-4_9-2015q3-20150921-mac.tar.bz2 (md5) Mac installation tarball 68,394
last downloaded today
download icon gcc-arm-none-eabi-4_9-2015q3-20150921-src.tar.bz2 (md5) Source package 40,180
last downloaded today
download icon How-to-build-toolchain.pdf (md5) How to build 9,949
last downloaded today
download icon readme.txt (md5) README 381,628
last downloaded today
download icon license.txt (md5) Licenses 1,168
last downloaded 24 hours ago
Total downloads: 893,663

Release notes 

Release notes for
*************************************************
GNU Tools for ARM Embedded Processors 4.9
                               - Q3 2015
*************************************************

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-4_9-branch revision 227977
    http://gcc.gnu.org/svn/gcc/branches/ARM/embedded-4_9-branch/

  * binutils : 2.24 with mainline backports
    git://sourceware.org/git/binutils-gdb.git commit 136a940ac535e464d2a7a86880ce1f1a5554c484

  * newlib and newlib-nano :
    git://sourceware.org/git/newlib-cygwin.git commit 36da3f961ce7f1b209842b8d883bf1c018466fe8

  * gdb : 7.8 with mainline backport/without target sim support
    git://sourceware.org/git/binutils-gdb.git commit c9792faa1e25cb54edf55ffce93582370c99e4ac

  * 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.11.1 : ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.11.1.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 LTS 10.04 and later (PPA)
  - RHEL 4/5/6 (tarball)
* Mac OS X 10.7.3 and newer 64 bits (tarball)

Supported target OS:
* Bare metal EABI only

Features:
* All GCC 4.9 features, plus latest mainline features
  - Cortex-M7 support
  - Small multiply support with options:
    . -mcpu=cortex-m1.small-multiply
    . -mcpu=cortex-m0.small-multiply
    . -mcpu=cortex-m0plus.small-multiply
* Dedicated multilib for Cortex-M7
  - cortex-m7
  - cortex-m7/fpu/fpv5-d16
  - cortex-m7/fpu/fpv5-sp-d16
  - cortex-m7/softfp/fpv5-d16
  - cortex-m7/softfp/fpv5-sp-d16
* Define aeabi_memcpy and aeabi_memcpy4 routines in newlib.
* Define aeabi_memmove, aeabi_memset and aeabi_memclr routines in newlib.
* Thumb-1 library optimizations.
* Additional code size optimizations.
* Add gdb python build (arm-none-eabi-gdb-py).
* Object file without attribute section can be linked with any
  others.
* The options -mapcs, -mapcs-frame, -mtpcs-frame and -mtpcs-leaf-frame
  will be deprecated in gcc 5.0, hence recommend to avoid them.

Tests:
* Tested on a variety of Cortex-M0/M0+/M3/M4/M7/A9 boards
* Tested on Qemu

Important bugs fixed in 4.9 update 3 release:
* Newlib format specifier mismatch fix.
  https://answers.launchpad.net/gcc-arm-embedded/+question/269083
* Newlib macro mismatch fix.
  https://answers.launchpad.net/gcc-arm-embedded/+question/269177
* Assembler encoding bug fix.
  https://sourceware.org/ml/binutils/2015-08/msg00028.html

Important bugs fixed in 4.9 update 2 release:
* Updated some inline assembly code in Newlib to work with old targets
  https://www.sourceware.org/ml/newlib/2015/msg00386.html
* Avoid wastage caused by section size promotion
  https://answers.launchpad.net/gcc-arm-embedded/+question/262160
* Local register variables don't work correctly with inline asm operands
  https://bugs.launchpad.net/gcc-arm-embedded/+bug/1411655

Important bugs fixed in 4.9 update 1 release:
* LD backport to keep zero length section in final axf file
  https://bugs.launchpad.net/gcc-arm-embedded/+bug/1412384
* Fix GDB crash caused by discarding the grouped debug sections
  https://sourceware.org/ml/binutils/2015-01/msg00007.html
* Add a Thumb1 insn pattern to legalize the instruction that
  moves pc to low register
  https://gcc.gnu.org/ml/gcc-patches/2015-01/msg00458.html
* Update GCC to generate Tag_ABI_HardFP_use per the latest EABI doc
  https://gcc.gnu.org/ml/gcc-patches/2015-01/msg00991.html
* Live high register not saved in function prolog with -Os
  https://gcc.gnu.org/ml/gcc-patches/2015-01/msg00998.html
* --var-info-path-expression fails for nested structs
  https://sourceware.org/bugzilla/show_bug.cgi?id=16084

Important bugs fixed in 4.9 major release:
* LTO ignores -fno-short-enums
  https://bugs.launchpad.net/gcc-arm-embedded/+bug/1315810
  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61123
* Incorrect folding of bitfield in a union on big endian targets
  https://bugs.launchpad.net/gcc-arm-embedded/+bug/1330388
  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62103
* newlib-nano printf("%.*s",moo) walks off the end of string
  https://bugs.launchpad.net/gcc-arm-embedded/+bug/1385829

Known Changes:
* We now use a gcc pass to implement the function of the plugin mentioned in
  http://gcc.gnu.org/ml/gcc-patches/2013-05/msg00667.html.
  Such pass only exists in embedded-4_9-branch branch and not in upstream
  mainline. A new option -ftree-switch-shortcut can be used to turn on/off
  this pass. By default it is off.

Known 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.

Changelog 

This release does not have a changelog.

0 blueprints and 1 bug targeted

Bug report Importance Assignee Status
1465186 #1465186 How to build toolchain confusion 5 Low Thomas Preud'homme  10 Fix Released
This milestone contains Public information
Everyone can see this information.