GNU Arm Embedded Toolchain 4.9-2015-q1-update

Update 4.9 in Q1 2015

Milestone information

Project:
GNU Arm Embedded Toolchain
Series:
4.9
Version:
4.9-2015-q1-update
Released:
 
Registrant:
Terry Guo
Release registered:
Active:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata

Activities

Assigned to you:
No blueprints or bugs assigned to you.
Assignees:
2 Terry Guo
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
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,648
last downloaded 37 weeks ago
download icon gcc-arm-none-eabi-4_9-2015q1-20150306-win32.exe (md5) Windows installer 160,888
last downloaded 34 weeks ago
download icon gcc-arm-none-eabi-4_9-2015q1-20150306-win32.zip (md5) Windows zip package 100,499
last downloaded 33 weeks ago
download icon gcc-arm-none-eabi-4_9-2015q1-20150306-linux.tar.bz2 (md5) Linux installation tarball 75,294
last downloaded 33 weeks ago
download icon gcc-arm-none-eabi-4_9-2015q1-20150306-mac.tar.bz2 (md5) Mac installation tarball 21,823
last downloaded 33 weeks ago
download icon gcc-arm-none-eabi-4_9-2015q1-20150306-src.tar.bz2 (md5) Source package 20,604
last downloaded 37 weeks ago
download icon How-to-build-toolchain.pdf (md5) How to build 9,134
last downloaded 35 weeks ago
download icon readme.txt (md5) README 9,241
last downloaded 34 weeks ago
download icon license.txt (md5) Licenses 1,498
last downloaded 37 weeks ago
Total downloads: 403,629

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

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

  * newlib and newlib-nano :
    git://sourceware.org/git/newlib.git commit a23da62b7adc4a87378b850f45b41c1795beeb1f

  * gdb : 7.8 with mainline backport/without target sim support
    git://sourceware.org/git/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 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 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.