# Install binutils with Homebrew

GNU binary tools for native development. Version 2.47 via Homebrew; verified 2026-07-29.

## Install

```sh
sudo av install brew:binutils
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install binutils
```

  Evidence: provider-native install command

## Package facts

- **Package key:** brew:binutils
- **Package manager:** Homebrew
- **Version:** 2.47
- **Source summary:** GNU binary tools for native development
- **Homepage:** <https://www.gnu.org/software/binutils/binutils.html>
- **Last updated:** 2026-07-29T14:10:12Z
- **Generated:** 2026-08-03T00:40:33+00:00

## Executables

- addr2line (alias)
- ar (alias)
- as (alias)
- c++filt (alias)
- coffdump (alias)
- dlltool (alias)
- dllwrap (alias)
- elfedit (alias)
- gp-archive (alias)
- gp-collect-app (alias)
- gp-display-html (alias)
- gp-display-src (alias)
- gp-display-text (alias)
- gprof (alias)
- gprofng (alias)
- gprofng-archive (alias)
- gprofng-collect-app (alias)
- gprofng-display-html (alias)
- gprofng-display-src (alias)
- gprofng-display-text (alias)
- gprofng-gmon (alias)
- ld (alias)
- ld.bfd (alias)
- nm (alias)
- objcopy (alias)
- objdump (alias)
- ranlib (alias)
- readelf (alias)
- size (alias)
- srconv (alias)
- strings (alias)
- strip (alias)
- sysdump (alias)
- windmc (alias)
- windres (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 2.47
## Project history and usage

GNU Binutils is the GNU project's collection of binary-file and toolchain utilities, including the GNU assembler, linker, objdump, readelf, nm, ar, ranlib, strip, strings, and supporting libraries such as BFD and opcodes.

### Project history

The official GNU page frames Binutils as the binary-tool collection that gives GNU and GNU/Linux systems the facility to compile and link programs. Its main programs are ld, as, and gold, with many companion tools for archives, symbol tables, disassembly, ELF inspection, profiling, resource files, and object-file conversion.

Most Binutils programs share BFD, the Binary File Descriptor library, for low-level manipulation across object-file formats, and many also use libopcodes for assembly and disassembly. This shared backend is why the package can support many CPU architectures and object formats from one source tree.

Development is hosted in the Sourceware binutils-gdb.git repository. The Sourceware page documents anonymous git access, a gitweb interface, snapshots after every commit, release branches named binutils-M_NN-branch, and release tags named binutils-M_NN.

### Adoption history

Binutils is not merely widely packaged; it is part of the base build vocabulary of Unix-like systems. The supplied package facts list packages across Alpine, Homebrew, Debian, Fedora, MacPorts, Nix, Arch, Scoop, Ubuntu, and openSUSE, which matches the project's own statement that it has been ported to most major Unix variants as well as Wintel systems.

Its tools are embedded into compiler, linker, debugger, distribution, embedded, and cross-compilation workflows. Even systems that use LLVM tools often keep GNU Binutils available because build scripts, configure checks, firmware recipes, and package tests call names such as ar, ranlib, objcopy, objdump, readelf, strings, strip, and ld.

### How it is used

Daily use spans the whole package lifecycle: assemblers turn source into objects, linkers produce executables and shared libraries, ar and ranlib maintain static archives, strip removes symbols, strings extracts printable data, readelf and objdump inspect binaries, nm lists symbols, and objcopy converts or rewrites object files.

Packagers and toolchain maintainers care about target triples, emulations, linker scripts, relocation formats, debug sections, archive indexes, reproducible output, and cross builds. The official NEWS files show continuing work on RISC-V, AArch64, x86, LoongArch, SFrame, libsframe, readelf, objdump, gas, and ld.

### Why package nerds care

GNU Binutils is one of the packages that makes other packages possible. A broken binutils update can affect builds across an entire distribution, while a new architecture port or linker feature can unblock thousands of downstream packages.

It is also a Rosetta Stone for binary formats. Package maintainers use it to answer questions like what symbols a library exports, whether an ELF object has the expected relocations, why a link failed, whether debug info survived stripping, or whether an archive index is stale.

The package is historically important because it concentrates assembler, linker, object-copying, symbol, disassembly, profiling, and archive tools into one release stream. That creates both power and risk: one source release carries support for many architectures, formats, and old build assumptions.

### Timeline

- 1999: Sourceware page notes older gas2 and bfd lists were superseded by current Binutils discussion lists around May 1999.
- 2024: Binutils 2.43 and 2.44 releases continue ELF, RISC-V, LoongArch, SFrame, and linker feature work.
- 2025: Binutils 2.45 release adds further SFrame, RISC-V, linker, readelf, and assembler changes.
- 2026: Binutils 2.46 documentation is current, and the GNU page lists 2.46.1 as the latest release.

### Related projects

- Binutils shares the Sourceware binutils-gdb.git repository with GDB. It is closely tied to GCC and GNU/Linux system building, and it overlaps in user-facing tasks with LLVM tools such as llvm-ar, llvm-objdump, llvm-readelf, llvm-nm, lld, and clang's integrated assembler.

### Sources

- Binutils, gas, and ld NEWS files document continuing architecture, SFrame, readelf, objdump, assembler, and linker changes.
- GNU Binutils official page documents tool list, BFD/opcodes, portability, release process, git access, and purpose in GNU/GNU-Linux systems.
- Sourceware docs page identifies current Binutils 2.46 documentation.
- Sourceware gitweb summary identifies binutils-gdb.git and official repository URLs.
- input.source_facts.package-manager lists cross-distro/package-manager availability.


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal


## Combined YAML source

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


## Sources

- Nucleus package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
