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:/
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:/
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:/
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_
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
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:/