![]() Latest GCC Cross & Native automated Build-scripts and Precompiled Standalone (ARM/ARM64) Toolchains for Raspberry Pi |
- TL'DR
- Key Feature Points
- Precompiled Toolchains: Easy-to-Use
- For Developers: Do It Yourself
- Support this Project ❤️
- Additional Useful Information
- Citing
- Copyright License
- Acknowledgments
What is this project?
This project provides latest Raspberry Pi hardware optimized GCC Cross Compiler & Native (ARM & ARM64) automated Build-Scripts and Precompiled standalone Toolchains binaries, that will save you tons of time & thereby helps you get quickly started with software development on Pi.
Who will benefit from the project?
This project is for everyone, from a professional Developer to a small Hobbyist to a college student, who's looking for latest easy-to-use GCC toolchains for their Raspberry Pi project(s) with minimum effort.
- Automated CLI maintained GCC standalone ARM/ARM64 toolchains.
- Latest GCC 9.2.0 toolchains available.
- Hardcoded paths free both Cross & Native Raspbian Buster (Debian 10) toolchains available.
- Separate binaries for each Raspberry Pi variant (including latest Compute modules and Raspberry Pi 4).
- Tar Compressed binaries with maximum possible compression.
- Exclusive ARM64|AARCH64 Binaries for Raspberry Pi 64-Bit OS flavors.
- Open-sourced Toolchain build-scripts are available.
- Latest GDB Debugger v8.3.1 included in all binaries.
This project uses CLI to auto-generate various easy-to-use precompiled Compressed GCC Cross & Native standalone ARM/ARM64 toolchains which are discussed as follows:
Here's a reference table for various precompiled Toolchains available in this project that are targeting specific OS only:
- Reference:
- Host OS: on which the toolchain is executed/used.
- Target OS: for which the toolchain generates code.
Toolchains | Host OS | Target OS | Status | Precompiled GCC versions available |
---|---|---|---|---|
Cross-Compiler Toolchains (Stretch) | any x64/x86 Linux machine | Raspbian Stretch OS (Debian Version 9) only | Stable/Production | 6.3.0, 8.3.0, 9.2.0 |
Cross-Compiler Toolchains (Buster) | any x64/x86 Linux machine | Raspbian Buster OS (Debian Version 10) only | Stable/Production | 8.3.0, 9.2.0 |
Native Compiler Toolchains (Stretch) | Raspbian Stretch OS (Debian Version 9) only | Raspbian Stretch OS (Debian Version 9) only | Stable/Production | 8.3.0, 9.2.0 |
Native Compiler Toolchains (Buster) | Raspbian Buster OS (Debian Version 10) only | Raspbian Buster OS (Debian Version 10) only | Stable/Production | 9.2.0 |
64-bit Cross-Compiler Toolchains | any x64/x86 Linux machine | any x64 Raspberry Pi OS(like Pi64) | Stable/Production | 6.3.0, 8.3.0, 9.2.0 |
64-bit Native-Compiler Toolchains | any x64 Raspberry Pi OS(like Pi64) | any x64 Raspbian OS(like Pi64) | Stable/Production | 8.3.0, 9.2.0 |
Exclusive Toolchains | None | None | None | None |
Obsolete Compiler Toolchains | Not supported | Not supported | No longer supported | 7.4.0, 8.2.0 |
- C++
- Fortran
- C
- Any other language support can be compiled manually.
You can easily identify each pre-compiled toolchain binary by its name as follows:
Compressed pre-compiled GCC Toolchain binaries can be easily be downloaded from the project's SourceForge Repository or by clicking links given in the following table:
Toolchains | GCC download links |
---|---|
Cross-Compiler Toolchains | 6.3.0, 8.3.0, 9.1.0, 9.2.0 |
Native Compiler Toolchains | 8.3.0, 9.1.0, 9.2.0 |
64-bit Cross-Compiler Toolchains | 6.3.0, 8.3.0, 9.1.0, 9.2.0 |
64-bit Native-Compiler Toolchains | 8.3.0, 9.1.0, 9.2.0 |
Exclusive Toolchains (Cross-Compiler) | 8.3.0 |
Obsolete Compiler Toolchains | 7.4.0, 8.2.0 |
To get the location of each Binary of this project on SourceForge, you can also check out this Reference Tree.
These precompiled toolchains setup requires just three easy steps - Downloading, Extracting and Linking:
Open source is awesome, thereby, This project now provides user-friendly opensourced build-scripts that auto-generates & compiles Cross & Native GCC ARM/ARM64 Toolchain binaries targeting Raspberry Pi 32-bit Stretch (Debian 9) & Buster (Debian 10) and any Raspberry Pi 64-bit (like Pi64) OSes. These build-scripts are used by Automated CLI environments to generate various precompiled GCC ARM/ARM64 toolchains as discussed above. But you can also use these scripts to manually compile any latest GCC toolchains yourself through your terminal. You can find complete related info here:
If these binaries helped you big time, please consider supporting it through any size donations. Thank you ❤️.
You can also share your thoughts or just drop a star ⭐. Thank you.
- All Raspberry Pi hardware/versions/models are currently supported.
- Any other ARM Device(such as android, IoT) with similar Hardware architecture(see Optimization Flags) should also work.
These toolchains are built with following LTO flags, thereby you can take advantage of your Raspberry Pi's CPU specific features with these LTO flags:
Important 💡 : The latest Raspberry Pi 4 uses a Broadcom BCM2711 SoC with a 1.5 GHz 64-bit quad-core ARM Cortex-A72 processor, that also have armv8-a architecture similar to Raspberry Pi 3B+, therefore it is also officially supported!
Board | LTO Link Optimization Flags |
---|---|
Raspberry Pi - Zero/W/WH & 1 Model A/B/A+/B+ | -march=armv6 -mfloat-abi=hard -mfpu=vfp |
Raspberry Pi - 2&3 Model A/B | -march=armv7-a -mfloat-abi=hard -mfpu=neon-vfpv4 |
Raspberry Pi - 3/4 Model A+/B+ & Compute 3/3-lite/3+(32-Bit) | -march=armv8-a -mfloat-abi=hard -mfpu=neon-fp-armv8 |
Raspberry Pi - 3/4 Model A+/B+ & Compute 3/3-lite/3+(64-Bit) | -march=armv8-a+fp+simd |
Here is a Bibtex entry you can use to cite this project in a publication:
@misc{raspberry-pi-cross-compilers,
Title = {Raspberry Pi Toolchains},
Author = {Abhishek Thakur},
howpublished = {\url{https://github.com/abhiTronix/raspberry-pi-cross-compilers}}
}
Copyright © 2020 abhiTronix
This Project source-code and its precompiled binaries are licensed under the GPLv3 license.
- https://gcc.gnu.org/ for providing the latest source code.
- https://www.raspberrypi.org/ for providing the latest kernel and docs.
- https://sourceforge.net for allowing me to publish these binaries.