Two months ago, we announced a new service from Bootlin: free and ready-to-use Linux cross-compilation toolchains, for a large number of architectures and C libraries, available at https://toolchains.bootlin.com/.
Bleeding edge toolchain updates
All our bleeding edge toolchains have been updated, with the latest version of the toolchain components:
- gcc 7.2.0, which was released 2 days ago
- glibc 2.26, which was released 2 weeks ago
- binutils 2.29
- gdb 8.0
Those bleeding edge toolchains are now based on Buildroot 2017.08-rc2, which brings a nice improvement: the host tools (gcc, binutils, etc.) are no longer linked statically against gmp, mpfr and other host libraries. They are dynamically linked against them with an appropriate rpath encoded into the gcc and binutils binaries to find those shared libraries regardless of the installation location of the toolchain.
However, due to gdb 8.0 requiring a C++11 compiler on the host machine (at least gcc 4.8), our bleeding edge toolchains are now built in a Debian Jessie system instead of Debian Squeeze, which means that at least glibc 2.14 is needed on the host system to use them.
The only toolchains for which the tests are not successful are the MIPS64R6 toolchains, due to the Linux kernel not building properly for this architecture with gcc 7.x. This issue has already been reported upstream.
Stable toolchain updates
We haven’t changed the component versions of our stable toolchains, but we made a number of fixes to them:
- The armv7m and m68k-coldfire toolchains have been rebuilt with a fixed version of elf2flt that makes the toolchain linker directly usable. This fixes building the Linux kernel using those toolchains.
- The mips32r5 toolchain has been rebuilt with NaN 2008 encoding (instead of NaN legacy), which makes the resulting userspace binaries actually executable by the Linux kernel, which expects NaN 2008 encoding on mips32r5 by default.
- Most mips toolchains for musl have been rebuilt, with Buildroot fixes for the creation of the dynamic linker symbolic link. This has no effect on the toolchain itself, but also the tests under Qemu to work properly and validate the toolchains.
Other improvements
We made a number of small improvements to the toolchains.bootlin.com site:
- Each architecture now has a page that lists all toolchain versions available. This allows to easily find a toolchain that matches your requirements (in terms of gcc version, kernel headers version, etc.). See All aarch64 toolchains for an example.
- We added a FAQ as well as a news page.
As usual, we welcome feedback about our toolchains, either on our bug tracker or by mail at info@bootlin.com.
Hey Thomas, I didn’t know there was such a toolchains page on your site, it’s very convienient and will save many of us quite some time when trying to hack on a new board. Thanks for doing this!