What's new in 9-2019-q4-major
In this release
-
- gcc-arm-none-eabi-9-2019-q4-major-win32.exe
- Windows 32-bit Installer (Signed for Windows 10 and later) (Formerly SHA2 signed binary)
- MD5: 033151c92a5cd986e4cbea058f93d91b
-
- gcc-arm-none-eabi-9-2019-q4-major-win32.zip
- Windows 32-bit ZIP package
- MD5: 82525522fefbde0b7811263ee8172b10
-
- gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux.tar.bz2
- Linux x86_64 Tarball
- MD5: fe0029de4f4ec43cf7008944e34ff8cc
-
- gcc-arm-none-eabi-9-2019-q4-major-aarch64-linux.tar.bz2
- Linux AArch64 Tarball
- MD5: 0dfa059aae18fcf7d842e30c525076a4
-
- gcc-arm-none-eabi-9-2019-q4-major-mac.tar.bz2
- Mac OS X 64-bit Tarball
- MD5: 241b64f0578db2cf146034fc5bcee3d4
-
- gcc-arm-none-eabi-9-2019-q4-major-src.tar.bz2
- Source Tarball
- MD5: dec65fe8c14aae90512310dd5fe88bf1
Features:
- All GCC 9.2 features, plus latest mainline features.
Known Changes and Issues:
- Doing IPA on CMSE generates a linker error:
The linker will error out when resulting object file contains a symbol for the clone function with the __acle_se prefix that has a non-local binding. Issue occurs when compiling binaries for M-profile Secure Extensions where the compiler may decide to clone a function with the cmse_nonsecure_entry attribute. Although cloning nonsecure entry functions is legal, as long as the clone is only used inside the secure application, the clone function itself should not be seen as a secure entry point and so it should not have the __acle_se prefix. A possible work around for this is to add a 'noclone' attribute to functions with the 'cmse_nonsecure_entry'. This will prevent GCC from cloning such functions.
Release Note for GNU Arm Embedded Toolchain Downloads 9-2019-q4-major
Release notes for
*************************************************
GNU Tools for Arm Embedded Processors 9 - Q4 2019
*************************************************
This release includes bare metal pre-built binaries for AArch32 EABI targets,
which can be hosted on:
* Windows 10 32/64 bits or later (with installer and alternative zip package)
* Linux
- Ubuntu 14.04 or later AArch64 (tarball)
- Ubuntu 14.04 or later x86_64 (tarball)
- RHEL 7 64 bits (tarball)
* Mac OS X 10.13 and newer 64 bits (tarball)
It also contains source code package (together with build scripts and
instructions to setup build environment), which is composed of:
* gcc : ^/branches/ARM/arm-9-branch
svn://gcc.gnu.org/svn/gcc/branches/ARM/arm-9-branch revision 277439
* binutils : binutils-2_33-branch
git://sourceware.org/git/binutils-gdb.git commit 52f9b3adc0771944d2c988a91ba3a69820f3844a
* newlib and newlib-nano : newlib-3.1.0
git://sourceware.org/git/newlib-cygwin.git commit 572687310059534b2da9428ca19df992509c8a5d
* gdb : gdb-8.3-branch
git://sourceware.org/git/binutils-gdb.git commit e908e11a4f74ab6a06aef8c302a03b2a0dbc4d83
Note that some or all of the following prerequisites are downloaded when
building from source:
* EnvVarUpdate NSIS script :
http://nsis.sourceforge.net/mediawiki/images/a/ad/EnvVarUpdate.7z
* expat 2.1.1 :
https://downloads.sourceforge.net/project/expat/expat/2.1.1/expat-2.1.1.tar.bz2
* gmp 6.1.0 :
https://gmplib.org/download/gmp/gmp-6.1.0.tar.bz2
* isl 0.18 :
http://isl.gforge.inria.fr/isl-0.18.tar.xz
* libelf 0.8.13 :
https://fossies.org/linux/misc/old/libelf-0.8.13.tar.gz
* libiconv 1.15 :
https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz
* mpc 1.0.3 :
ftp://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz
* mpfr 3.1.4 :
http://www.mpfr.org/mpfr-3.1.4/mpfr-3.1.4.tar.bz2
* python 2.7.7 :
https://www.python.org/ftp/python/2.7.7/python-2.7.7.msi
* zlib 1.2.8
http://www.zlib.net/fossils/zlib-1.2.8.tar.gz
Features:
* All GCC 9.2 features, plus latest mainline features
Tests:
* Targets
+ variety of Cortex-M0/M0+/M3/M4/M7/A9 boards
+ Qemu
+ Arm Fast Models
Important changes in 9-2019Q4 major release:
* Windows package only tested on Windows 10.
* Fixed https://sourceware.org/bugzilla/show_bug.cgi?id=24289
MEMORY regions can no longer use LENGTH and ORIGIN.
* Fixed https://community.arm.com/developer/tools-software/oss-platforms/f/gnu-toolchain-forum/13503/gcc-g-version-8-very-slow-to-compile
GCC 8 very slow to compile
* Fixed https://sourceware.org/bugzilla/show_bug.cgi?id=25081
Discrepancy between VMA and LMA after ALIGN
* Additional armv7-r multilib directory: thumb/v7-r+fp.sp
* Added AArch64 Linux host package
* Windows installer now accepts the following options when running in silent mode:
- /P Adds the installation bin directory to the system PATH
- /R Adds an InstallFolder registry entry for the install.
Known issues:
* Doing IPA on CMSE generates a linker error:
The linker will error out when resulting object file contains a symbol for
the clone function with the __acle_se prefix that has a non-local binding.
Issue occurs when compiling binaries for M-profile Secure Extensions where
the compiler may decide to clone a function with the cmse_nonsecure_entry
attribute.
Although cloning nonsecure entry functions is legal, as long as the clone
is only used inside the secure application, the clone function itself should
not be seen as a secure entry point and so it should not have the __acle_se
prefix.
A possible work around for this is to add a 'noclone' attribute to
functions with the 'cmse_nonsecure_entry'. This will prevent GCC from cloning
such functions.