macOS
brew install arm-none-eabi-gcclocal Homebrew formula metadata
sudo port install arm-none-eabi-gccMacPorts ports tree · cross/arm-none-eabi-gcc/Portfile · source: api.github.com
brew
GNU compiler collection for arm-none-eabi. Version 16.1.0 via Homebrew; verified 2026-04-30.
install
brew install arm-none-eabi-gcclocal Homebrew formula metadata
sudo port install arm-none-eabi-gccMacPorts ports tree · cross/arm-none-eabi-gcc/Portfile · source: api.github.com
sudo dnf install arm-none-eabi-gcc-csFedora Rawhide package metadata · arm-none-eabi-gcc-cs · source: dl.fedoraproject.org
sudo pacman -S arm-none-eabi-gccArch Linux sync databases · arm-none-eabi-gcc · source: geo.mirror.pkgbuild.com
sudo zypper install cross-arm-none-gcc13openSUSE Tumbleweed package metadata · cross-arm-none-gcc13 · source: download.opensuse.org
overview
GNU compiler collection for arm-none-eabi
history
arm-none-eabi-gcc is a target-prefixed GCC cross compiler for bare-metal ARM EABI development. The upstream project is GCC, the GNU Compiler Collection; the package name selects the ARM freestanding target used by firmware, microcontroller, bootloader, and embedded-runtime builds.
GCC's official homepage says GCC was originally written as the compiler for the GNU operating system and now includes front ends for C, C++, Objective-C, Objective-C++, Fortran, Ada, Go, D, Modula-2, COBOL, Rust, and Algol 68, along with runtime libraries such as libstdc++.
The GCC project emphasizes regular high-quality releases, support for many native and cross targets, publicly available Git sources, and weekly snapshots. The official Git page documents https://gcc.gnu.org/git/gcc.git as the clone URL and links to online Git history.
The arm-none-eabi packaging is not a separate compiler lineage; it is GCC configured as a cross compiler. The official ARM options manual documents ARM-specific switches such as -mabi, -mfloat-abi, -march, and -mcpu, which are the kinds of controls embedded ARM users combine with linker scripts and binutils.
The supplied package facts show arm-none-eabi-gcc in Homebrew, MacPorts, Arch, Fedora-family, and zypper-family package metadata. That cross-package spread exists because embedded ARM developers often work from macOS or Linux hosts and need repeatable target-prefixed tools outside their system compiler.
GCC's broader adoption comes from being the default or reference compiler across many free-software and embedded environments. The arm-none-eabi variant rides that history while serving a narrower target: freestanding code where libc, startup files, linker scripts, and hardware-specific flags are chosen by the firmware project.
The package installs commands such as arm-none-eabi-gcc, arm-none-eabi-g++, arm-none-eabi-cpp, arm-none-eabi-gcc-ar, arm-none-eabi-gcc-nm, arm-none-eabi-gcc-ranlib, gcov tools, and lto-dump. Users compile C/C++ or assembly inputs to ARM EABI objects and link firmware images through a matching binutils and runtime setup.
Official GCC documentation describes the compiler driver pipeline from preprocessing and compilation through assembly and linking, plus target-specific options. In embedded use, package users commonly combine arm-none-eabi-gcc with arm-none-eabi-binutils, startup code, linker scripts, and optional C libraries such as newlib.
arm-none-eabi-gcc is a classic example of why package managers carry cross compilers as separate packages. The target prefix preserves host compiler behavior while making build systems select the intended architecture, ABI, and runtime assumptions.
For package nerds, the package is interesting because it turns GCC from a host compiler into a relocatable toolchain component. The visible command names encode the target, and the rest of the ecosystem hangs off that convention: pkg-config wrappers, CMake toolchain files, Cargo/Make firmware builds, and objcopy-based image generation.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
arm-none-eabi-c++ | cli | global executable | |
arm-none-eabi-cpp | cli | global executable | |
arm-none-eabi-g++ | cli | global executable | |
arm-none-eabi-gcc | cli | global executable | |
arm-none-eabi-gcc-16.1.0 | cli | global executable | |
arm-none-eabi-gcc-ar | cli | global executable | |
arm-none-eabi-gcc-nm | cli | global executable | |
arm-none-eabi-gcc-ranlib | cli | global executable | |
arm-none-eabi-gcov | cli | global executable | |
arm-none-eabi-gcov-dump | cli | global executable | |
arm-none-eabi-gcov-tool | cli | global executable | |
arm-none-eabi-lto-dump | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:arm-none-eabi-gcc |
|---|---|
| Version | 16.1.0 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/arm-none-eabi-gcc |
| Homepage | https://gcc.gnu.org |
| Repository | https://gcc.gnu.org/git/gcc.git |
| Upstream docs | https://gcc.gnu.org/ |
| License | GPL-3.0-or-later WITH GCC-exception-3.1 |
| Source archive | https://ftpmirror.gnu.org/gnu/gcc/gcc-16.1.0/gcc-16.1.0.tar.xz |
| Last updated | 2026-04-30T17:38:11Z |
| Pulse | updated |
| Dependencies | arm-none-eabi-binutils, gmp, isl, libmpc, mpfr, zstd |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | arm-none-eabi-gcc |
| Version Scheme | 0 |
| Revision | 0 |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
arm-none-eabi-gcc-cs 15.2.0-4.fc44
GNU GCC for cross-compilation for arm-none-eabi target
sudo dnf install arm-none-eabi-gcc-csarm-none-eabi-gcc 14.2.0-2
The GNU Compiler Collection - cross compiler for ARM EABI (bare-metal) target
sudo pacman -S arm-none-eabi-gcccross-arm-none-gcc13 13.4.1+git10254-1.2
The GNU Compiler Collection targeting arm-none
sudo zypper install cross-arm-none-gcc13cross-arm-none-gcc13-bootstrap 13.4.1+git10254-1.2
The GNU Compiler Collection targeting arm-none
sudo zypper install cross-arm-none-gcc13-bootstrapcross-arm-none-gcc14 14.3.1+git12513-1.2
The GNU Compiler Collection targeting arm-none
sudo zypper install cross-arm-none-gcc14cross-arm-none-gcc14-bootstrap 14.3.1+git12513-1.2
The GNU Compiler Collection targeting arm-none
sudo zypper install cross-arm-none-gcc14-bootstrapcross-arm-none-gcc15 15.2.1+git11263-1.1
The GNU Compiler Collection targeting arm-none
sudo zypper install cross-arm-none-gcc15cross-arm-none-gcc15-bootstrap 15.2.1+git11263-1.1
The GNU Compiler Collection targeting arm-none
sudo zypper install cross-arm-none-gcc15-bootstrapcross-arm-none-gcc16 16.1.1+git8886-1.1
The GNU Compiler Collection targeting arm-none
sudo zypper install cross-arm-none-gcc16cross-arm-none-gcc7 7.5.0+r278197-24.1
The GNU Compiler Collection targeting arm-none
sudo zypper install cross-arm-none-gcc7cross-arm-none-gcc7-bootstrap 7.5.0+r278197-24.1
The GNU Compiler Collection targeting arm-none
sudo zypper install cross-arm-none-gcc7-bootstraparm-none-eabi-gcc
sudo port install arm-none-eabi-gccsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.