Skip to main content

xPack GNU Arm Embedded GCC v11.2.1-1.1 released

· 8 min read

Version 11.2.1-1.1 is a new release; it follows the Arm release.

The xPack GNU Arm Embedded GCC is a standalone cross-platform binary distribution of GNU Arm Embedded Toolchain.

There are separate binaries for Windows (x64), macOS (x64, arm64) and GNU/Linux (x64, arm64 and arm).

Raspberry Pi

The main targets for the GNU/Linux Arm binaries are the Raspberry Pi class devices (armv7l and aarch64; armv6 is not supported).

Download​

The binary files are available from GitHub Releases.

Prerequisites​

  • x64 GNU/Linux: any system with GLIBC 2.27 or higher (like Ubuntu 18 or later, Debian 10 or later, RedHat 8 or later, Fedora 29 or later, etc)
  • arm64/arm GNU/Linux: any system with GLIBC 2.27 or higher (like Raspberry Pi OS, Ubuntu 18 or later, Debian 10 or later, RedHat 8 or later, Fedora 29 or later, etc)
  • x64 Windows: Windows 7 with the Universal C Runtime (UCRT), Windows 8, Windows 10
  • x64 macOS: 10.13 or later
  • arm64 macOS: 11.6 or later

Install​

The easiest way to install this specific version, is by using xpm:

xpm install @xpack-dev-tools/arm-none-eabi-gcc@11.2.1-1.1.1 --verbose

Comprehensive instructions for installing xPack GNU Arm Embedded GCC on different platforms can be found in the Install Guide.

Compliance​

The xPack GNU Arm Embedded GCC generally follows the official Arm Embedded GCC releases.

The current version is based on:

  • GNU Arm Embedded Toolchain release 11.2-2022.02 from February 15, 2022 and uses the same sources. It includes:
    • GCC 11.2.1
    • binutils 2.37
    • newlib 4.1.0
    • GDB 11.2

Supported libraries​

The supported libraries are:

$ arm-none-eabi-gcc -print-multi-lib
.;
arm/v5te/softfp;@marm@march=armv5te+fp@mfloat-abi=softfp
arm/v5te/hard;@marm@march=armv5te+fp@mfloat-abi=hard
thumb/nofp;@mthumb@mfloat-abi=soft
thumb/v7/nofp;@mthumb@march=armv7@mfloat-abi=soft
thumb/v7+fp/softfp;@mthumb@march=armv7+fp@mfloat-abi=softfp
thumb/v7+fp/hard;@mthumb@march=armv7+fp@mfloat-abi=hard
thumb/v7-r+fp.sp/softfp;@mthumb@march=armv7-r+fp.sp@mfloat-abi=softfp
thumb/v7-r+fp.sp/hard;@mthumb@march=armv7-r+fp.sp@mfloat-abi=hard
thumb/v7-a/nofp;@mthumb@march=armv7-a@mfloat-abi=soft
thumb/v7-a+fp/softfp;@mthumb@march=armv7-a+fp@mfloat-abi=softfp
thumb/v7-a+fp/hard;@mthumb@march=armv7-a+fp@mfloat-abi=hard
thumb/v7-a+simd/softfp;@mthumb@march=armv7-a+simd@mfloat-abi=softfp
thumb/v7-a+simd/hard;@mthumb@march=armv7-a+simd@mfloat-abi=hard
thumb/v7ve+simd/softfp;@mthumb@march=armv7ve+simd@mfloat-abi=softfp
thumb/v7ve+simd/hard;@mthumb@march=armv7ve+simd@mfloat-abi=hard
thumb/v8-a/nofp;@mthumb@march=armv8-a@mfloat-abi=soft
thumb/v8-a+simd/softfp;@mthumb@march=armv8-a+simd@mfloat-abi=softfp
thumb/v8-a+simd/hard;@mthumb@march=armv8-a+simd@mfloat-abi=hard
thumb/v6-m/nofp;@mthumb@march=armv6s-m@mfloat-abi=soft
thumb/v7-m/nofp;@mthumb@march=armv7-m@mfloat-abi=soft
thumb/v7e-m/nofp;@mthumb@march=armv7e-m@mfloat-abi=soft
thumb/v7e-m+fp/softfp;@mthumb@march=armv7e-m+fp@mfloat-abi=softfp
thumb/v7e-m+fp/hard;@mthumb@march=armv7e-m+fp@mfloat-abi=hard
thumb/v7e-m+dp/softfp;@mthumb@march=armv7e-m+fp.dp@mfloat-abi=softfp
thumb/v7e-m+dp/hard;@mthumb@march=armv7e-m+fp.dp@mfloat-abi=hard
thumb/v8-m.base/nofp;@mthumb@march=armv8-m.base@mfloat-abi=soft
thumb/v8-m.main/nofp;@mthumb@march=armv8-m.main@mfloat-abi=soft
thumb/v8-m.main+fp/softfp;@mthumb@march=armv8-m.main+fp@mfloat-abi=softfp
thumb/v8-m.main+fp/hard;@mthumb@march=armv8-m.main+fp@mfloat-abi=hard
thumb/v8-m.main+dp/softfp;@mthumb@march=armv8-m.main+fp.dp@mfloat-abi=softfp
thumb/v8-m.main+dp/hard;@mthumb@march=armv8-m.main+fp.dp@mfloat-abi=hard
thumb/v8.1-m.main+mve/hard;@mthumb@march=armv8.1-m.main+mve@mfloat-abi=hard

Changes​

Compared to the official Arm version, there should be no functional changes.

Python​

Support for Python scripting was added to GDB. This distribution provides a separate binary, arm-none-eabi-gdb-py3 with support for Python 3.10.

The Python 3 run-time is included, so GDB does not need any version of Python to be installed, and is insensitive to the presence of other versions.

Support for Python 2 was discontinued.

Text User Interface (TUI)​

Support for TUI was added to GDB. The ncurses library (v6.2) was added to the distribution.

note

TUI is not available on Windows

Bug fixes​

  • none

Enhancements​

  • none

Known problems​

  • for unknown reasons, in the Arm distribution used as reference, support for parsing XML files in GDB was disabled; when connecting to SEGGER J-Link GDB server, the warning Can not parse XML target description; XML support was disabled at compile time is displayed and some functionality is not available; fixed in 11.2.1-1.2;
  • due to an error in the build scripts, the libgcov.a library resulted with empty content; fixed in 11.2.1-1.2.

Documentation​

The original GNU GCC documentation is available online.

Build​

The binaries for all supported platforms (Windows, macOS and GNU/Linux) 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.

The scripts used to build this distribution are in:

  • distro-info/scripts

For the prerequisites and more details on the build procedure, please see the README-MAINTAINER page.

CI tests​

Before publishing, a set of simple tests were performed on an exhaustive set of platforms. The results are available from:

Tests​

The binaries were tested on a variety of platforms, but mainly to check the integrity of the build, not the compiler functionality.

Checksums​

The SHA-256 hashes for the files are:

4253a3263108302efcaae03fc247d2826809e58eb02c6f55a59dc2553b19d810
xpack-arm-none-eabi-gcc-11.2.1-1.1-darwin-arm64.tar.gz

1e7c0ef244b5a9eb304dda3b2c50668cae956bd33170fb324ccb850395fbbac5
xpack-arm-none-eabi-gcc-11.2.1-1.1-darwin-x64.tar.gz

27913d2fa515da19b91ee06bda362dcf8a5618d1138d85b209b21dc5f3e68478
xpack-arm-none-eabi-gcc-11.2.1-1.1-linux-arm.tar.gz

c1a5fd91bbbb3bf258a96439f13e9baa01c3dc368d406ad68acab3c089f2007f
xpack-arm-none-eabi-gcc-11.2.1-1.1-linux-arm64.tar.gz

898649436d523b4dc552fb5602a9511089bb30e7df1cba3db401e895c04f12b9
xpack-arm-none-eabi-gcc-11.2.1-1.1-linux-x64.tar.gz

a9327ff3a764a2cabfe385921f02d90e9e424d2c8fb504a3600e598fcea99e7c
xpack-arm-none-eabi-gcc-11.2.1-1.1-win32-x64.zip

Deprecation notices​

32-bit support​

Support for 32-bit x86 GNU/Linux and x86 Windows was dropped in 2022. Support for 32-bit Arm GNU/Linux (armv7l) will be preserved for a while, due to the large user base of 32-bit Raspberry Pi systems.

GNU/Linux minimum requirements​

Support for RedHat 7 was dropped in 2022 and the minimum requirement was raised to GLIBC 2.27, available starting with Ubuntu 18, Debian 10 and RedHat 8.

Download analytics​

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