# Install x86_64-elf-binutils with Homebrew

GNU Binutils for x86_64-elf cross development. Version 2.46.1 via Homebrew; verified 2026-06-09.

## Install

```sh
sudo av install brew:x86_64-elf-binutils
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install x86_64-elf-binutils
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:x86_64-elf-binutils
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/x86_64-elf-binutils>
- **Version:** 2.46.1
- **Source summary:** GNU Binutils for x86_64-elf cross development
- **Homepage:** <https://www.gnu.org/software/binutils/>
- **Repository:** <https://sourceware.org/git/binutils-gdb.git>
- **Upstream docs:** <https://sourceware.org/binutils/docs>
- **License:** GPL-3.0-or-later
- **Source archive:** <https://ftpmirror.gnu.org/gnu/binutils/binutils-2.46.1.tar.bz2>
- **Last updated:** 2026-06-09T23:41:44Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

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

## Dependencies

- zstd

## Build dependencies

- pkgconf
- texinfo

## 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: 2.46.1
- Package-manager updated: 2026-06-09
- Local data: ok
- Upstream repository: https://www.gnu.org/software/binutils/
- info: Release/tag comparison is only available for GitHub repositories.
## 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.

### Sources

- <https://sourceware.org/binutils/docs/as/>
- <https://sourceware.org/binutils/docs/binutils/>
- <https://sourceware.org/binutils/docs/ld/>
- <https://wiki.osdev.org/Binutils>
- <https://wiki.osdev.org/GCC_Cross-Compiler>
- <https://wiki.osdev.org/Why_do_I_need_a_Cross_Compiler%3F>
- <https://www.gnu.org/software/binutils/>


## Security Notes

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.


## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** x86_64-elf-binutils
- **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


## Related links

- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Archive and compression packages](https://www.automicvault.com/pkg/archive-compression-tools/) - Matched curated package taxonomy and local package facts.
- [zstd](https://www.automicvault.com/pkg/brew/zstd/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [texinfo](https://www.automicvault.com/pkg/brew/texinfo/) - Build dependency declared by Homebrew.
- [x86_64-elf-gcc](https://www.automicvault.com/pkg/brew/x86-64-elf-gcc/) - Popular package that depends on this formula.
- [aarch64-elf-binutils](https://www.automicvault.com/pkg/brew/aarch64-elf-binutils/) - Shares the same upstream homepage.
- [arm-none-eabi-binutils](https://www.automicvault.com/pkg/brew/arm-none-eabi-binutils/) - Shares the same upstream homepage.
- [i686-elf-binutils](https://www.automicvault.com/pkg/brew/i686-elf-binutils/) - Shares the same upstream homepage.
- [m68k-elf-binutils](https://www.automicvault.com/pkg/brew/m68k-elf-binutils/) - Shares the same upstream homepage.
- [mips-linux-gnu-binutils](https://www.automicvault.com/pkg/brew/mips-linux-gnu-binutils/) - Shares the same upstream homepage.
- [mipsel-linux-gnu-binutils](https://www.automicvault.com/pkg/brew/mipsel-linux-gnu-binutils/) - Shares the same upstream homepage.
- [x86_64-linux-gnu-binutils](https://www.automicvault.com/pkg/brew/x86-64-linux-gnu-binutils/) - Package names and metadata indicate a similar tool family. Shared terms: addr2line, bfd, binutils, cross, development.

## Combined YAML source

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


## Sources

- Nucleus package database
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- cross-ecosystem install command graph
