GNU Arm Embedded Toolchain 4.9-2015-q1-update

Update 4.9 in Q1 2015

Milestone information

GNU Arm Embedded Toolchain
Terry Guo
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.
2 Terry Guo
No blueprints are targeted to this milestone.
3 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,552
last downloaded 4 days ago
download icon gcc-arm-none-eabi-4_9-2015q1-20150306-win32.exe (md5) Windows installer 151,719
last downloaded 2 days ago
download icon (md5) Windows zip package 98,495
last downloaded 4 days ago
download icon gcc-arm-none-eabi-4_9-2015q1-20150306-linux.tar.bz2 (md5) Linux installation tarball 73,182
last downloaded 24 hours ago
download icon gcc-arm-none-eabi-4_9-2015q1-20150306-mac.tar.bz2 (md5) Mac installation tarball 21,170
last downloaded 11 days ago
download icon gcc-arm-none-eabi-4_9-2015q1-20150306-src.tar.bz2 (md5) Source package 20,508
last downloaded 11 days ago
download icon How-to-build-toolchain.pdf (md5) How to build 8,971
last downloaded 4 days ago
download icon readme.txt (md5) README 9,103
last downloaded 4 days ago
download icon license.txt (md5) Licenses 1,415
last downloaded 5 days ago
Total downloads: 389,115

Release notes 

Release notes for
GNU Tools for ARM Embedded Processors 4.9
                               - Q1 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 221220

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

  * newlib and newlib-nano :
    git:// commit a23da62b7adc4a87378b850f45b41c1795beeb1f

  * 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 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 3 bugs targeted

Bug report Importance Assignee Status
1318478 #1318478 Deadloop _Unwind_Backtrace noexcept 4 Medium   10 Fix Released
1379254 #1379254 Miss debug information in code built with lto 1 Undecided Terry Guo  10 Fix Released
1412384 #1412384 Let LD keep the zero-length section 1 Undecided Terry Guo  10 Fix Released
This milestone contains Public information
Everyone can see this information.