Version 7.3.1-1.2 is a maintenance release; it repacks the GNU MCU Eclipse Arm Embedded GCC v7.3.1-1.1 using the new build scripts.

Download

The binary files are available from GitHub Releases.

Install

The full details of installing the xPack GNU Arm Embedded GCC on various platforms are presented in the separate Install page.

Easy install

The easiest way to install GNU Arm Embedded GCC is with xpm by using the binary xPack, available as @xpack-dev-tools/arm-none-eabi-gcc from the npmjs.com registry.

To install the latest version available, use:

xpm install --global @xpack-dev-tools/arm-none-eabi-gcc@latest --verbose

To install this specific version, use:

xpm install --global @xpack-dev-tools/arm-none-eabi-gcc@7.3.1-1.2.2

Compliance

This release follows the official GNU Arm Embedded Toolchain 7-2018-q2-update release from June 27, 2018 and it is based on the gcc-arm-none-eabi-7-2018-q2-update-src.tar.bz2 source invariant.

For more details see the original Arm release text files:

  • distro-info/arm-readme.txt
  • distro-info/arm-release.txt

Supported libraries

The supported libraries are:

$ arm-none-eabi-gcc -print-multi-lib
.;
thumb;@mthumb
hard;@mfloat-abi=hard
thumb/v6-m;@mthumb@march=armv6s-m
thumb/v7-m;@mthumb@march=armv7-m
thumb/v7e-m;@mthumb@march=armv7e-m
thumb/v7-ar;@mthumb@march=armv7
thumb/v8-m.base;@mthumb@march=armv8-m.base
thumb/v8-m.main;@mthumb@march=armv8-m.main
thumb/v7e-m/fpv4-sp/softfp;@mthumb@march=armv7e-m@mfpu=fpv4-sp-d16@mfloat-abi=softfp
thumb/v7e-m/fpv4-sp/hard;@mthumb@march=armv7e-m@mfpu=fpv4-sp-d16@mfloat-abi=hard
thumb/v7e-m/fpv5/softfp;@mthumb@march=armv7e-m@mfpu=fpv5-d16@mfloat-abi=softfp
thumb/v7e-m/fpv5/hard;@mthumb@march=armv7e-m@mfpu=fpv5-d16@mfloat-abi=hard
thumb/v7-ar/fpv3/softfp;@mthumb@march=armv7@mfpu=vfpv3-d16@mfloat-abi=softfp
thumb/v7-ar/fpv3/hard;@mthumb@march=armv7@mfpu=vfpv3-d16@mfloat-abi=hard
thumb/v8-m.main/fpv5-sp/softfp;@mthumb@march=armv8-m.main@mfpu=fpv5-sp-d16@mfloat-abi=softfp
thumb/v8-m.main/fpv5-sp/hard;@mthumb@march=armv8-m.main@mfpu=fpv5-sp-d16@mfloat-abi=hard
thumb/v8-m.main/fpv5/softfp;@mthumb@march=armv8-m.main@mfpu=fpv5-d16@mfloat-abi=softfp
thumb/v8-m.main/fpv5/hard;@mthumb@march=armv8-m.main@mfpu=fpv5-d16@mfloat-abi=hard

Changes

There should be no functional changes.

lib/bdf-plugins

To improve LTO support, the lib/bdf-plugins folder was added, with a link to the liblto_plugin.so library (a file copy on Windows).

This allows the use of traditional program names, like arm-none-eabi-ar instead of the new arm-none-eabi-gcc-ar, without getting errors like:

arm-none-eabi-ar -r  "libarm-static-lib.a"  ./lib.o
arm-none-eabi-ar: creating libarm-static-lib.a
arm-none-eabi-ar: ./lib.o: plugin needed to handle lto object <---

The issue was reported to Arm as bug 1838049.

Known problems

  • due to some changes in newlib 2.9.1, the definition of the _EXFUN macro changed and the semihosting projects created with old GNU MCU Eclipse fail to build with a compile error in system/src/newlib/_syscalls.c. The problem was in the project template #317, and was fixed in GNU MCU Eclipse plug-ins v4.4.2 (2018-08-27).
  • [#1] Due to an omission in the build scripts, the content of the libgcov library is mostly empty; the problem was fixed starting with v8.3.1-1.2.

Documentation

The original PDF documentation is available in the share/doc folder.

Supported platforms

Binaries for Windows, macOS and GNU/Linux are provided.

The binaries were built using the xPack Build Box (XBB), a set of build environments based on slightly older distributions, that should be compatible with most recent systems.

  • x86/x64 GNU/Linux: all binaries were built with GCC 7.4, running in a CentOS 6 Docker container
  • x86/x64 Windows: all binaries were built with mingw-w64 GCC 7.4, running in a CentOS 6 Docker container
  • x64 macOS: most binaries were built with GCC 7.4, running in a separate folder on macOS 10.10.5; GDB cannot be compiled with GCC, so Apple clang was used.

Tests

The binaries were testes on Windows 10 Pro 32/64-bit, Ubuntu 18 LTS 64-bit, Xubuntu 18 LTS 32-bit and macOS 10.13.

The tests consist in building and debugging some simple Eclipse projects available in the project.

Since the source code used for GCC is identical to the one used by Arm, the long and complex tests performed by Arm to validate their release were not executed again.

Checksums

The SHA-256 hashes for the files are:

b852c2f8aa48a0d5ea6d7c5afea8ee825c1df7f7cf7492825519223b0bb7a9f2
xpack-arm-none-eabi-gcc-7.3.1-1.2-darwin-x64.tgz

eda39f5866598881a63e07eff622c3b442f3cc4b166f8ebda29ffb30a08280c9
xpack-arm-none-eabi-gcc-7.3.1-1.2-linux-x32.tgz

c5c76a218f9b847c51d354c0f994de0cac5e7568a3b58e0ca04ce3d36f4eab0e
xpack-arm-none-eabi-gcc-7.3.1-1.2-linux-x64.tgz

d6d5613f032060ccfaa43757a1f56a01308c5b879630b9d21742adbd8ae40d57
xpack-arm-none-eabi-gcc-7.3.1-1.2-win32-x32.zip

b5501d197ba19724783e42a454c260f9a73ab9a759279aea72bf353dd5301afc
xpack-arm-none-eabi-gcc-7.3.1-1.2-win32-x64.zip

Download analytics

Credit to Shields IO for the badges and to Somsubhra/github-release-stats for the individual file counters.