GNU Tools for Arm Embedded Processors 9-2019q4-major Release

Written for GNU Arm Embedded Toolchain by Joey Ye on 2019-11-06

We are pleased to announce the availability of the GNU toolchain for ARM Embedded Processors 9-2019q4-major release.
The tools can be downloaded from any one of the following link:

* https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads

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.

Read all announcements