GNU Arm Embedded Toolchain 10-2020-q4-major

Written for GNU Arm Embedded Toolchain by Vasee Vinayagamoorthy on 2020-12-16

We are pleased to announce the availability of the GNU Arm Embedded Toolchain: 10-2020-q4-major release.
The tools can be downloaded from the following link:

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

Notable changes in 2020-q4-major release:
* Added support for:
  + M-profile Vector Extension (MVE) assembler and intrinsics
  + Custom Datapath Extension (CDE)
  + Cortex-M55

* Fixed issue where load or store of __fp16 type together with MVE
  might generate invalid code.

* Fixed issue https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91816
  where the compiler was generating a conditional branch in Thumb2,
  which was too far for b{cond} to handle.

* Fixed internal errors in arm and aarch64 GAS when assembling code
  that attempts a negative .org.

* Fixed issue https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96191
  where the -fstack-protector option was leaving the canary value
  in a temporary register on return from the function.

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 workaround for this is to add a 'noclone' attribute to
functions with the 'cmse_nonsecure_entry'. This will prevent GCC from cloning
such functions.
* GCC can hang or crash if the input source code uses MVE Intrinsics polymorphic variants in a nested form. The depth of nesting that triggers this issue might vary depending on the host machine. This behaviour is observed when nesting 7 times or more on a high-end workstation. On less powerful machines, this behaviour might be observed with fewer levels of nesting. This issue is reported in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91937

Read more

Read all announcements