GNU Arm Embedded Toolchain: 9-2020-q2-update Release

Written for GNU Arm Embedded Toolchain by Przemyslaw Wirkus on 2020-05-29

We are pleased to announce the availability of the GNU Arm Embedded Toolchain: 9-2020-q2-update release.
The tools can be downloaded from any one of the following link:

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

Notable changes in 2020-q2-update release:
* Bumped binutils to version 2.34.

* Bumped newlib to version 3.3.0.

* Fixed https://bugs.launchpad.net/gcc-arm-embedded/+bug/1848002
  Parallel builds fail on Windows due to bug in MinGW-w64 used to build binutils.

* Fixed https://community.arm.com/developer/tools-software/tools/f/arm-compilers-forum/46294/macos-objdump-reading-section-bss-failed-because-memory-exhausted
  objdump: Reading section .bss failed because: memory exhausted.

* Fixed https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93188
  Fix rmprofile multilibs when architecture includes +mp or +sec.

* Fixed https://bugs.launchpad.net/gcc-arm-embedded/+bug/1415310
  Extend the --skip_steps to enable skipping the target library strip step.

* Additional v7-a multilib directories:
    thumb/v7-a+fp/softfp
    thumb/v7-a+fp/hard
    thumb/v7-a+simd/softfp
    thumb/v7-a+simd/hard
    thumb/v7-a/nofp

* Additional v7ve multilib directories:
    thumb/v7ve+simd/softfp
    thumb/v7ve+simd/hard

* Additional v8-a multilib directories:
    thumb/v8-a/nofp
    thumb/v8-a+simd/softfp
    thumb/v8-a+simd/hard

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 more

Read all announcements