pkg.sopackage field notes

brew / rank 133

Install binutils with Homebrew

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

install

Additional install commands

macOS

Homebrewverified · 100%
brew install binutils

provider-native install command

overview

Package summary

GNU binary tools for native development

Commands and aliases

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

history

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 posture

Risk level: blue

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

Risk classifier

blue risk · medium confidence · tool

Why

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

Signals

  • text:archive

Install behavior

  • No Homebrew bottle metadata was recorded.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
addr2lineexecutableindexed executableDiscovered from the local executable index.
arexecutableindexed executableDiscovered from the local executable index.
asexecutableindexed executableDiscovered from the local executable index.
c++filtexecutableindexed executableDiscovered from the local executable index.
coffdumpexecutableindexed executableDiscovered from the local executable index.
dlltoolexecutableindexed executableDiscovered from the local executable index.
dllwrapexecutableindexed executableDiscovered from the local executable index.
elfeditexecutableindexed executableDiscovered from the local executable index.
gp-archiveexecutableindexed executableDiscovered from the local executable index.
gp-collect-appexecutableindexed executableDiscovered from the local executable index.
gp-display-htmlexecutableindexed executableDiscovered from the local executable index.
gp-display-srcexecutableindexed executableDiscovered from the local executable index.
gp-display-textexecutableindexed executableDiscovered from the local executable index.
gprofexecutableindexed executableDiscovered from the local executable index.
gprofngexecutableindexed executableDiscovered from the local executable index.
gprofng-archiveexecutableindexed executableDiscovered from the local executable index.
gprofng-collect-appexecutableindexed executableDiscovered from the local executable index.
gprofng-display-htmlexecutableindexed executableDiscovered from the local executable index.
gprofng-display-srcexecutableindexed executableDiscovered from the local executable index.
gprofng-display-textexecutableindexed executableDiscovered from the local executable index.
gprofng-gmonexecutableindexed executableDiscovered from the local executable index.
ldexecutableindexed executableDiscovered from the local executable index.
ld.bfdexecutableindexed executableDiscovered from the local executable index.
nmexecutableindexed executableDiscovered from the local executable index.
objcopyexecutableindexed executableDiscovered from the local executable index.
objdumpexecutableindexed executableDiscovered from the local executable index.
ranlibexecutableindexed executableDiscovered from the local executable index.
readelfexecutableindexed executableDiscovered from the local executable index.
sizeexecutableindexed executableDiscovered from the local executable index.
srconvexecutableindexed executableDiscovered from the local executable index.
stringsexecutableindexed executableDiscovered from the local executable index.
stripexecutableindexed executableDiscovered from the local executable index.
sysdumpexecutableindexed executableDiscovered from the local executable index.
windmcexecutableindexed executableDiscovered from the local executable index.
windresexecutableindexed executableDiscovered from the local executable index.

freshness

Version and 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.

page generated2026-08-03
manager version2.47
manager updated2026-07-29
local dataunknown
upstreamnot available
latest detectednot detected
  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:binutils
Version2.47
Package managerHomebrew
Homepagehttps://www.gnu.org/software/binutils/binutils.html
Last updated2026-07-29T14:10:12Z
Pulseupdated
Bottlenot recorded
Servicenone declared

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

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