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,458
last downloaded 3 days ago
download icon gcc-arm-none-eabi-4_9-2015q3-20150921-win32.exe (md5) Windows installer 351,057
last downloaded today
download icon (md5) Windows zip package 118,418
last downloaded today
download icon gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2 (md5) Linux installation tarball 3,843,476
last downloaded today
download icon gcc-arm-none-eabi-4_9-2015q3-20150921-mac.tar.bz2 (md5) Mac installation tarball 85,794
last downloaded 24 hours ago
download icon gcc-arm-none-eabi-4_9-2015q3-20150921-src.tar.bz2 (md5) Source package 51,389
last downloaded 5 days ago
download icon How-to-build-toolchain.pdf (md5) How to build 17,741
last downloaded 3 days ago
download icon readme.txt (md5) README 465,723
last downloaded today
download icon license.txt (md5) Licenses 2,248
last downloaded 3 days ago
Total downloads: 4,942,304

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.