pkg.soopen package index

brew / rank 2135

Install x86_64-elf-binutils with Homebrew

GNU Binutils for x86_64-elf cross development. Version 2.47 via Homebrew; verified 2026-07-29.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install x86_64-elf-binutils

local Homebrew formula metadata

overview

Package summary

GNU Binutils for x86_64-elf cross development

Commands and aliases

  • x86_64-elf-addr2line
  • x86_64-elf-ar
  • x86_64-elf-as
  • x86_64-elf-c++filt
  • x86_64-elf-elfedit
  • x86_64-elf-gprof
  • x86_64-elf-ld
  • x86_64-elf-ld.bfd
  • x86_64-elf-nm
  • x86_64-elf-objcopy
  • x86_64-elf-objdump
  • x86_64-elf-ranlib
  • x86_64-elf-readelf
  • x86_64-elf-size
  • x86_64-elf-strings
  • x86_64-elf-strip

history

Project history and usage

x86_64-elf-binutils is the GNU Binutils suite built for the `x86_64-elf` target, a bare-metal ELF toolchain target used for operating-system development, kernels, bootloaders, freestanding programs, and other environments that should not inherit the host operating system's ABI or libraries.

The upstream GNU Binutils project supplies the assembler, linker, object-file utilities, and shared binary-format libraries. The `x86_64-elf` package role is to expose those tools with a target prefix, so commands such as `x86_64-elf-as`, `x86_64-elf-ld`, `x86_64-elf-objdump`, and `x86_64-elf-readelf` operate as part of a cross-development toolchain.

Project history

GNU Binutils is one of the oldest layers of the GNU toolchain. The GNU page describes it as a collection of binary tools whose main programs are `ld`, the GNU linker, `as`, the GNU assembler, and `gold`, with supporting tools such as `ar`, `nm`, `objcopy`, `objdump`, `readelf`, `size`, `strings`, and `strip`.

Historically the suite grew around shared binary-format infrastructure. The GNU page notes that most of the programs use BFD, the Binary File Descriptor library, for low-level manipulation of different object formats, and many also use the opcodes library for assembling and disassembling machine instructions. That architecture is why one source project can support many CPU, object-format, and OS targets.

Adoption history

The normal native GNU toolchain pairs Binutils with GCC, GDB, make, and libc to build software for the host. Cross-toolchain users instead configure Binutils with a target such as `x86_64-elf`, producing prefixed tools that generate ELF objects and binaries for a target environment independent of the host OS.

OSDev's cross-compiler guide explains the reason for this pattern: a host compiler assumes the host CPU, operating system, executable format, headers, and libraries unless directed otherwise, while a cross-compiler uses an explicit target and avoids accidental host assumptions. Binutils is built first because GCC needs the target assembler and linker.

How it is used

In a freestanding x86-64 workflow, `x86_64-elf-as` assembles startup or interrupt code, `x86_64-elf-ld` links objects with a custom linker script, `x86_64-elf-objcopy` converts or extracts binary images, and `x86_64-elf-objdump` or `x86_64-elf-readelf` inspects ELF sections, relocations, symbols, and disassembly.

Package users often install x86_64-elf-binutils alongside `x86_64-elf-gcc`. The useful bit is the prefix: build scripts can call target-specific tools directly and avoid accidentally invoking `/usr/bin/as` or the platform linker, which may default to Mach-O, PE, Linux user-space ELF, or another host-specific environment.

Why package nerds care

This package is significant because it turns GNU Binutils from a native developer utility into a precise cross-toolchain component. For OS development and bare-metal experiments, the absence of host assumptions is the feature.

The `x86_64-elf` target also captures a long-running package-manager convenience: many OSDev tutorials show users how to build Binutils by hand, but a packaged cross Binutils gives them the target-prefixed assembler, linker, and inspection tools without owning that bootstrap step.

Timeline

  • 1980s-1990s: GNU assembler, linker, BFD, and related binary utilities mature as core parts of the GNU build toolchain.
  • 1999: The GNU Binutils page notes older `gas2` and `bfd` lists were historical discussion lists until May 1999, reflecting project consolidation under current mailing lists.
  • 2000s: OS-development communities standardize on target-prefixed GNU Binutils and GCC cross toolchains such as `i686-elf` and `x86_64-elf`.
  • 2020s: The GNU Binutils project continues regular releases from Sourceware and GNU mirrors, with current documentation covering Binutils 2.46-era tools.
  • 2026: GNU's Binutils page lists 2.46.1 as the latest release and documents the Sourceware `binutils-gdb.git` development tree.

Related projects

  • GCC is the compiler suite commonly paired with Binutils in both native and cross toolchains.
  • GDB shares the Sourceware `binutils-gdb.git` repository history and is often built for the same target family.
  • OSDev tutorials commonly use Binutils and GCC as the first toolchain pieces for hobby operating-system development.
  • LLVM tools such as `llvm-objdump` and `lld` are related alternatives in some cross and bare-metal workflows.

security posture

No protected-tool coverage found yet

No matching local secret-handling manifest was found for x86_64-elf-binutils. Nucleus package metadata is still published here so future coverage has a stable package URL.

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
x86_64-elf-addr2lineexecutableindexed executableDiscovered from the local executable index.
x86_64-elf-arexecutableindexed executableDiscovered from the local executable index.
x86_64-elf-asexecutableindexed executableDiscovered from the local executable index.
x86_64-elf-c++filtexecutableindexed executableDiscovered from the local executable index.
x86_64-elf-elfeditexecutableindexed executableDiscovered from the local executable index.
x86_64-elf-gprofexecutableindexed executableDiscovered from the local executable index.
x86_64-elf-ldexecutableindexed executableDiscovered from the local executable index.
x86_64-elf-ld.bfdexecutableindexed executableDiscovered from the local executable index.
x86_64-elf-nmexecutableindexed executableDiscovered from the local executable index.
x86_64-elf-objcopyexecutableindexed executableDiscovered from the local executable index.
x86_64-elf-objdumpexecutableindexed executableDiscovered from the local executable index.
x86_64-elf-ranlibexecutableindexed executableDiscovered from the local executable index.
x86_64-elf-readelfexecutableindexed executableDiscovered from the local executable index.
x86_64-elf-sizeexecutableindexed executableDiscovered from the local executable index.
x86_64-elf-stringsexecutableindexed executableDiscovered from the local executable index.
x86_64-elf-stripexecutableindexed 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:x86_64-elf-binutils
Version2.47
Package managerHomebrew
Homepagehttps://www.gnu.org/software/binutils/
Last updated2026-07-29T14:10:13Z
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

  • cross-ecosystem install command graph
  • curated package history
  • pkg.so package database
  • pkgdb category and tag curation