Arm has been releasing binary toolchains for Arm CPU processors based on GNU tools, which are used widely to develop for IoT, embedded and Linux. The releases happened a few times each year, following the annual tick of GCC. They were built from a set of scripts developed internally within Arm.
Such a release model works fine but has several problems. The most critical problem, raised by Linaro partners, is the cadence of release: there are too few releases for users to timely access new features and bug fixes in toolchain. As number of release will not increase without consuming more engineering resource in house, which is tight, users have to wait up to 6 months for a bug fix release. Also even when there is release to happen, lack of access to pre-view or alpha release, similarly due to resource constraint, prevents partners to integrate the toolchain in advance. Lastly but very importantly, when partners would like to contribute to build script to improve the release, they don't have a way to do so.
Our solution is to open up the build scripts in a github project, together with supplement mechanism to prepare the build environment and pick-up the right revision of toolchain components. With this project, users can easily clone and build toolchain for Arm, with timely access to latest features and bug fixes published by tools developers. It will also incorporate contribution from community to enhance the toolchain for wider use cases.
This solution is under deployment stage and is expected to be ready before BUD20, which will be a good opportunity to improve awareness and encourage contribution. In this section, the presenter will introduce the structure and design principle of the github project, and demonstrate how to use and contribute to it.
Director of Engineering (Arm)
15+ years experience on Compiler and Tools. Former GCC developer. Currently lead open source toolchain development in Arm.