# Install arm-none-eabi-gcc with Homebrew, dnf, MacPorts, pacman, zypper

GNU compiler collection for arm-none-eabi. Version 16.1.0 via Homebrew; verified 2026-04-30.

## Install

```sh
sudo av install brew:arm-none-eabi-gcc
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install arm-none-eabi-gcc
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install arm-none-eabi-gcc
```

  Evidence: MacPorts ports tree: cross/arm-none-eabi-gcc/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- dnf (92%):

```sh
sudo dnf install arm-none-eabi-gcc-cs
```

  Evidence: Fedora Rawhide package metadata: arm-none-eabi-gcc-cs from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- pacman (92%):

```sh
sudo pacman -S arm-none-eabi-gcc
```

  Evidence: Arch Linux sync databases: arm-none-eabi-gcc from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install cross-arm-none-gcc13
```

  Evidence: openSUSE Tumbleweed package metadata: cross-arm-none-gcc13 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:arm-none-eabi-gcc
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/arm-none-eabi-gcc>
- **Version:** 16.1.0
- **Source summary:** GNU compiler collection for arm-none-eabi
- **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
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- arm-none-eabi-c++ (cli)
- arm-none-eabi-cpp (cli)
- arm-none-eabi-g++ (cli)
- arm-none-eabi-gcc (cli)
- arm-none-eabi-gcc-16.1.0 (cli)
- arm-none-eabi-gcc-ar (cli)
- arm-none-eabi-gcc-nm (cli)
- arm-none-eabi-gcc-ranlib (cli)
- arm-none-eabi-gcov (cli)
- arm-none-eabi-gcov-dump (cli)
- arm-none-eabi-gcov-tool (cli)
- arm-none-eabi-lto-dump (cli)
- arm-none-eabi-c++ (alias)
- arm-none-eabi-cpp (alias)
- arm-none-eabi-g++ (alias)
- arm-none-eabi-gcc (alias)
- arm-none-eabi-gcc-16.1.0 (alias)
- arm-none-eabi-gcc-ar (alias)
- arm-none-eabi-gcc-nm (alias)
- arm-none-eabi-gcc-ranlib (alias)
- arm-none-eabi-gcov (alias)
- arm-none-eabi-gcov-dump (alias)
- arm-none-eabi-gcov-tool (alias)
- arm-none-eabi-lto-dump (alias)

## Dependencies

- arm-none-eabi-binutils
- gmp
- isl
- libmpc
- mpfr
- zstd

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 16.1.0
- Package-manager updated: 2026-04-30
- Local data: ok
- Upstream repository: https://gcc.gnu.org
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

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.

### Project history

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.

### Adoption history

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.

### How it is used

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.

### Why package nerds care

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.

### Timeline

- GNU era: GCC begins as the compiler for the GNU operating system, according to the official GCC homepage.
- 2024: GCC 14.1 is released, according to the official release list.
- 2025: GCC 15.1 is released, according to the official release list.
- 2026: GCC 16.1 is released and the homepage lists GCC 16.1, 15.3, and 14.4 among supported releases.
- Current: Homebrew packages the arm-none-eabi-prefixed GCC executable set.

### Related projects

- Related projects include GNU Binutils, GDB, newlib, libstdc++, OpenOCD, CMSIS, microcontroller SDKs, and build systems that consume GCC cross toolchains.
- The closest package sibling in this batch is arm-none-eabi-binutils, which provides the assembler/linker/object tools that GCC invokes or complements.

### Sources

- <https://gcc.gnu.org/>
- <https://gcc.gnu.org/git.html>
- <https://gcc.gnu.org/onlinedocs>
- <https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html>
- <https://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html>
- <https://gcc.gnu.org/releases.html>
- input.source_facts.executables
- input.source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **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:** stable

## Other Package-Manager Records

- dnf - arm-none-eabi-gcc-cs - 15.2.0-4.fc44: normalized package name match | Fedora Rawhide package metadata: arm-none-eabi-gcc-cs from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | GNU GCC for cross-compilation for arm-none-eabi target | https://gcc.gnu.org/
- pacman - arm-none-eabi-gcc - 14.2.0-2: normalized package name match | Arch Linux sync databases: arm-none-eabi-gcc from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | The GNU Compiler Collection - cross compiler for ARM EABI (bare-metal) target | https://gcc.gnu.org/
- zypper - cross-arm-none-gcc13 - 13.4.1+git10254-1.2: normalized package name match | openSUSE Tumbleweed package metadata: cross-arm-none-gcc13 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | The GNU Compiler Collection targeting arm-none | https://gcc.gnu.org/
- zypper - cross-arm-none-gcc13-bootstrap - 13.4.1+git10254-1.2: normalized package name match | openSUSE Tumbleweed package metadata: cross-arm-none-gcc13-bootstrap from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | The GNU Compiler Collection targeting arm-none | https://gcc.gnu.org/
- zypper - cross-arm-none-gcc14 - 14.3.1+git12513-1.2: normalized package name match | openSUSE Tumbleweed package metadata: cross-arm-none-gcc14 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | The GNU Compiler Collection targeting arm-none | https://gcc.gnu.org/
- zypper - cross-arm-none-gcc14-bootstrap - 14.3.1+git12513-1.2: normalized package name match | openSUSE Tumbleweed package metadata: cross-arm-none-gcc14-bootstrap from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | The GNU Compiler Collection targeting arm-none | https://gcc.gnu.org/
- zypper - cross-arm-none-gcc15 - 15.2.1+git11263-1.1: normalized package name match | openSUSE Tumbleweed package metadata: cross-arm-none-gcc15 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | The GNU Compiler Collection targeting arm-none | https://gcc.gnu.org/
- zypper - cross-arm-none-gcc15-bootstrap - 15.2.1+git11263-1.1: normalized package name match | openSUSE Tumbleweed package metadata: cross-arm-none-gcc15-bootstrap from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | The GNU Compiler Collection targeting arm-none | https://gcc.gnu.org/
- zypper - cross-arm-none-gcc16 - 16.1.1+git8886-1.1: normalized package name match | openSUSE Tumbleweed package metadata: cross-arm-none-gcc16 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | The GNU Compiler Collection targeting arm-none | https://gcc.gnu.org/
- zypper - cross-arm-none-gcc7 - 7.5.0+r278197-24.1: normalized package name match | openSUSE Tumbleweed package metadata: cross-arm-none-gcc7 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | The GNU Compiler Collection targeting arm-none | https://gcc.gnu.org/
- zypper - cross-arm-none-gcc7-bootstrap - 7.5.0+r278197-24.1: normalized package name match | openSUSE Tumbleweed package metadata: cross-arm-none-gcc7-bootstrap from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | The GNU Compiler Collection targeting arm-none | https://gcc.gnu.org/
- MacPorts - arm-none-eabi-gcc: normalized package name match | MacPorts ports tree: cross/arm-none-eabi-gcc/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [arm-none-eabi-binutils](https://www.automicvault.com/pkg/brew/arm-none-eabi-binutils/) - Runtime dependency declared by Homebrew.
- [zstd](https://www.automicvault.com/pkg/brew/zstd/) - Runtime dependency declared by Homebrew.
- [aarch64-elf-gcc](https://www.automicvault.com/pkg/brew/aarch64-elf-gcc/) - Shares the same upstream homepage.
- [i686-elf-gcc](https://www.automicvault.com/pkg/brew/i686-elf-gcc/) - Shares the same upstream homepage.
- [m68k-elf-gcc](https://www.automicvault.com/pkg/brew/m68k-elf-gcc/) - Shares the same upstream homepage.
- [riscv64-elf-gcc](https://www.automicvault.com/pkg/brew/riscv64-elf-gcc/) - Shares the same upstream homepage.
- [x86_64-elf-gcc](https://www.automicvault.com/pkg/brew/x86-64-elf-gcc/) - Shares the same upstream homepage.
- [arm-linux-gnueabihf-binutils](https://www.automicvault.com/pkg/brew/arm-linux-gnueabihf-binutils/) - Shares av.db curated category or tags: arm, cli, compilers, cross-compilation, developer-tools.
- [dtc](https://www.automicvault.com/pkg/brew/dtc/) - Shares av.db curated category or tags: cli, compiler, compilers, developer-tools, embedded.
- [mingw-w64](https://www.automicvault.com/pkg/brew/mingw-w64/) - Shares av.db curated category or tags: cli, compilers, cross-compilation, developer-tools, gcc.

## Combined YAML source

View the package source record on GitHub. [combined/arm-none-eabi-gcc.yml](https://github.com/automic-vault/db/blob/main/combined/arm-none-eabi-gcc.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
