NameLast modifiedSizeLicense

Parent Directory Parent Directory
folder aarch64-elf -
folder aarch64-linux-gnu -
folder aarch64_be-elf -
folder aarch64_be-linux-gnu -
folder arm-eabi -
folder arm-linux-gnueabi -
folder arm-linux-gnueabihf -
folder armeb-eabi -
folder armeb-linux-gnueabi -
folder armeb-linux-gnueabihf -
folder armv8l-linux-gnueabihf -

The Linaro Binary Toolchain

The Linaro GCC 5.5-2017.10 Final Release is now available.

Notice: All Linaro GCC 5 series toolchain users should migrate to the latest version of the Linaro GCC 5 toolchain in order to mitigate potential security exposure to CVE-2015-7547. See the NEWS section below for details.

Download release packages from:



Previous snapshots and release-candidates are at:

Previous releases are at:

A description of the arm and AArch64 target triples can be found at:

Host Requirements

Linaro officially supports the current and previous Ubuntu LTS releases (as of the time of this release). This does not mean that the toolchain will not work on other/older Linux distributions. See the following for the life-time of Ubuntu LTS releases.

The host system upon which the cross-compiler will run requires a minimum of glibc 2.14, because of API changes to glibc’s memcpy API.

Package Versions

Linaro GCC 5.5-2017.10

Linaro glibc 2.21 (linaro/2.21)

Linaro newlib 2.1.0-2014.09 (linaro_newlib-branch)

Linaro binutils 2.25 (users/linaro/binutils-2_25-branch);a=blob_plain;f=binutils/NEWS;hb=refs/tags/binutils-2_25

FSF GDB 8.0 (gdb-8.0-branch)

Linaro toolchain package git branches are hosted at:

NEWS for GCC 5 (as of Linaro GCC 5.5-2017.10)

  • Include Binutils fix for bugzilla #20364:

Data-based padding causes current address evaluation to be non-constant on aarch64

  • Include GCC fix for Linaro bugzilla #2575:

ICE: declaration and definition of function with __attribute__((target(“thumb”))) and inlined assembler, with debug symbols enabled

  • Include GCC fix for Linaro bugzilla #2575:

Internal compiler error using -mtune=cortex-a57.cortex-a53.

  • The soft-float targeted toolchains have now been configured to generate code using -mfloat-abi=soft.

This makes arm-linux-gnueabi and armeb-linux-gnueabi toolchains use the “soft” FP ABI instead of “softfp”.

Historically, TCWG’s toolchains provided both “soft” and “softfp” multilibs, but when switching from crosstool-ng to cbuildv2/abe (which support a single multilib) “softfp” multilib was choosen. Using “-mfloat-abi=soft” is a better choice for a gnueabi toolchain, since it doesn’t require cores to have a floating-point unit.

This change should not break compatibility for toolchain users since the ABI will stay the same. The compiler and glibc libraries will not refernce FP instructions.

  • Include GCC fix for Linaro bugzilla #2562:

ARM GCC 5.2 call weak function instead of strong when called through pointer

  • Include GCC fix for Linaro bugzilla #1925:

[regression] FAIL: libgomp.fortran/retval1.f90 -O1 execution test

  • Include GCC fix for Linaro bugzilla #2185:

aarch64-linux-gnu-g++ internal compiler error: in curr_insn_transform

  • Backported glibc patch to simplify static malloc interposition [BZ #20432] to correct user identified issue.

commit 058b5a41d56b9a8860dede14d97dd443792d064b
Author: Florian Weimer
Date: Fri Aug 26 22:40:27 2016 +0200
malloc: Simplify static malloc interposition [BZ #20432]

  • Host binaries for x86_64 linux hosts now have symbols and debug information stripped in order to reduce the size of the toolchain binary archives. This reduces the archive size from 1.1G to 580M for aarch64-linux-gnu target with the gcc-5-branch.
  • Removed .la files from binary toolchain archive as these files break autotools builds.

  • The mingw toolchains are now archived using the rsync -L option in order to avoid problems with Windows extractors and symbolic links.

This resolves the following user bugs:

  • Copy the libwinpthread DLL into the bin directories so it gets into the tmp directory before tar is run.

  • Increment binutils release date to 2016_02 to reflect the most recent commit:

commit ef90a4718f535cbe6345b4e7168baea7b1972abf
Author: Matthew Wahab
Date: Tue Jan 12 16:35:30 2016 +0000
[ARM] Support ARMv8.2 RAS extension.

  • Baremetal sysroot names now contain ‘newlib’ rather than ‘glibc’.
  • Manifests now contain relative paths rather than absolute paths.
  • Now generating proper manifest files.
  • Fixed pi requeue support in glibc 2.21 while allowing the existing 2.21 minimum kernel default setting. This was checked into the linaro/2.21/master branch.

commit a68cafa11c500d8a49a3014c43c5152859d037ae
Author: Adhemerval Zanella
Date: Tue May 17 10:16:39 2016 -0300
Add runtime check for __ASSUME_REQUEUE_PI (BZ# 18463)

commit 6e5cb616b5b442ce8b2664ad673c0acf42a490ac
Author: Adhemerval Zanella
Date: Mon May 16 19:01:10 2016 -0300

commit 9ac61c0047295696cbcdbc26bdc174c7bd25a3c8
Author: Adhemerval Zanella
Date: Mon May 16 10:35:25 2016 -0300

  • Backported support into GCC for Cortex-A32, Cortex-A35, and Cortex-R8.
  • Applied fix for CVE-2015-7547 – A stack-based buffer overflow in glibc’s getaddrinfo() was corrected in glibc 2.23 and backported into glibc 2.21.

  • ARMv8.1 Instruction Support – ARMv8.1 instructions support was checked into GCC and binutils. It has been backported into Linaro GCC 5.3 and Linaro binutils 2.25.
  • Backported -Bsymbolic-functions into Linaro binutils 2.25.
  • Performance related backports from Linaro GCC 5.2-2015.11, Linaro GCC 5.2-2015.12, and Linaro GCC 5.3-2016.01-1, Linaro GCC 5.3-2016.02, Linaro GCC 5.3-2016.03, Linaro GCC 5.3-2016.04, Linaro GCC 5.4-2016.06, Linaro GCC 5.4-2016.10, Linaro GCC 5.4-2016.12, Linaro GCC 5.4-2017.02, GCC 5.4-2017.04 and Linaro GCC 5.5-2017.10 have been included.

See the following Linaro GCC snapshots:

Contact Linaro

File bugs at

For Linaro member support see

For Linaro community support email