News and announcements

GNU Arm Embedded Toolchain 10.3-2021.10

Written for GNU Arm Embedded Toolchain by Vasee Vinayagamoorthy on 2021-10-21

We are pleased to announce the availability of the GNU Arm Embedded Toolchain 10.3-2021.10 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 10.3-2021.10 release:

* Added mitigation for the VLLDM instruction security vulnerability
  described in:
  https://developer.arm.com/support/arm-security-updates/vlldm-instruction-security-vulnerability

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

Updated . Read more

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

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

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.

GNU Tools for Arm Embedded Processors 8-2019q3-update Release

Written for GNU Arm Embedded Toolchain by Tejas Belagod on 2019-07-10

We are pleased to announce the availability of the GNU toolchain for ARM Embedded Processors 8-2019q3-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

Important changes in 8-2019Q3 update release:
* https://sourceware.org/bugzilla/show_bug.cgi?id=23699
* https://bugs.launchpad.net/gcc-arm-embedded/+bug/1813553
* https://bugs.launchpad.net/gcc-arm-embedded/+bug/1814397
* Fix debug info loss for CMSE entry functions
  (https://www.sourceware.org/ml/binutils/2019-07/msg00018.html)

15 of 36 results