GNU Arm Embedded Toolchain 4.9-2015-q3-update

Update 4.9 in Q3 2015

Milestone information

GNU Arm Embedded Toolchain
Tejas Belagod
Release registered:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata


Assigned to you:
No blueprints or bugs assigned to you.
1 Thomas Preud'homme
No blueprints are targeted to this milestone.
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 6,552
last downloaded 24 hours ago
download icon gcc-arm-none-eabi-4_9-2015q3-20150921-win32.exe (md5) Windows installer 352,508
last downloaded today
download icon (md5) Windows zip package 119,969
last downloaded today
download icon gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2 (md5) Linux installation tarball 3,855,651
last downloaded today
download icon gcc-arm-none-eabi-4_9-2015q3-20150921-mac.tar.bz2 (md5) Mac installation tarball 86,821
last downloaded today
download icon gcc-arm-none-eabi-4_9-2015q3-20150921-src.tar.bz2 (md5) Source package 51,494
last downloaded 2 days ago
download icon How-to-build-toolchain.pdf (md5) How to build 18,013
last downloaded today
download icon readme.txt (md5) README 465,902
last downloaded 24 hours ago
download icon license.txt (md5) Licenses 2,291
last downloaded 12 days ago
Total downloads: 4,959,201

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

  * binutils : 2.24 with mainline backports
    git:// commit 136a940ac535e464d2a7a86880ce1f1a5554c484

  * newlib and newlib-nano :
    git:// commit 36da3f961ce7f1b209842b8d883bf1c018466fe8

  * gdb : 7.8 with mainline backport/without target sim support
    git:// commit c9792faa1e25cb54edf55ffce93582370c99e4ac

  * cloog 0.18.0 :

  * expat 2.0.1 :

  * gmp 4.3.2 :

  * libelf 0.8.13 :

  * libiconv 1.14 :

  * mpc 0.8.1 :

  * mpfr 2.4.2 :

  * isl 0.11.1 :

  * zlib 1.2.8

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

* 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
* The options -mapcs, -mapcs-frame, -mtpcs-frame and -mtpcs-leaf-frame
  will be deprecated in gcc 5.0, hence recommend to avoid them.

* 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.
* Newlib macro mismatch fix.
* Assembler encoding bug fix.

Important bugs fixed in 4.9 update 2 release:
* Updated some inline assembly code in Newlib to work with old targets
* Avoid wastage caused by section size promotion
* Local register variables don't work correctly with inline asm operands

Important bugs fixed in 4.9 update 1 release:
* LD backport to keep zero length section in final axf file
* Fix GDB crash caused by discarding the grouped debug sections
* Add a Thumb1 insn pattern to legalize the instruction that
  moves pc to low register
* Update GCC to generate Tag_ABI_HardFP_use per the latest EABI doc
* Live high register not saved in function prolog with -Os
* --var-info-path-expression fails for nested structs

Important bugs fixed in 4.9 major release:
* LTO ignores -fno-short-enums
* Incorrect folding of bitfield in a union on big endian targets
* newlib-nano printf("%.*s",moo) walks off the end of string

Known Changes:
* We now use a gcc pass to implement the function of the plugin mentioned in
  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:
  A workaround is to disable it by option -mno-lra.


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.