# Install cargo-binutils with Homebrew, apt, Nix, pacman, dnf

Cargo subcommands to invoke the LLVM tools shipped with the Rust toolchain. Version 0.4.0 via Homebrew; verified from local package data.

## Install

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

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install cargo-binutils
```

  Evidence: local Homebrew formula metadata

### Linux

- Debian apt (92%):

```sh
sudo apt install cargo-binutils
```

  Evidence: Debian stable package indexes: cargo-binutils from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#cargo-binutils
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ca/cargo-binutils/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S cargo-binutils
```

  Evidence: Arch Linux sync databases: cargo-binutils from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- dnf (92%):

```sh
sudo dnf install rust-ar+default-devel
```

  Evidence: Fedora Rawhide package metadata: rust-ar+default-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

## Package facts

- **Package key:** brew:cargo-binutils
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/cargo-binutils>
- **Version:** 0.4.0
- **Source summary:** Cargo subcommands to invoke the LLVM tools shipped with the Rust toolchain
- **Homepage:** <https://github.com/rust-embedded/cargo-binutils>
- **Repository:** <https://github.com/rust-embedded/cargo-binutils>
- **Upstream docs:** <https://github.com/rust-embedded/cargo-binutils#readme>
- **License:** Apache-2.0 OR MIT
- **Source archive:** <https://static.crates.io/crates/cargo-binutils/cargo-binutils-0.4.0.crate>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- cargo-cov (cli)
- cargo-nm (cli)
- cargo-objcopy (cli)
- cargo-objdump (cli)
- cargo-profdata (cli)
- cargo-readobj (cli)
- cargo-size (cli)
- cargo-strip (cli)
- rust-ar (cli)
- rust-as (cli)
- rust-cov (cli)
- rust-ld (cli)
- rust-lld (cli)
- rust-nm (cli)
- rust-objcopy (cli)
- rust-objdump (cli)
- rust-profdata (cli)
- rust-readobj (cli)
- rust-size (cli)
- rust-strip (cli)
- cargo-cov (alias)
- cargo-nm (alias)
- cargo-objcopy (alias)
- cargo-objdump (alias)
- cargo-profdata (alias)
- cargo-readobj (alias)
- cargo-size (alias)
- cargo-strip (alias)
- rust-ar (alias)
- rust-as (alias)
- rust-cov (alias)
- rust-ld (alias)
- rust-lld (alias)
- rust-nm (alias)
- rust-objcopy (alias)
- rust-objdump (alias)
- rust-profdata (alias)
- rust-readobj (alias)
- rust-size (alias)
- rust-strip (alias)

## Build dependencies

- rust

## 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: 0.4.0
- Local data: ok
- Upstream repository: https://github.com/rust-embedded/cargo-binutils
- info: No package-manager update timestamp was available.
- info: No cached GitHub release or tag data was available.
## Project history and usage

cargo-binutils is a Cargo subcommand suite that makes the LLVM binary-inspection tools shipped in Rust toolchains feel like native Cargo workflows. It provides rust-* proxies for LLVM tools and cargo-* commands that can build a Rust target and then inspect the resulting artifact.

### Project history

The crate appeared on crates.io in June 2018 as a proxy for llvm-nm, llvm-objdump, llvm-size, and related tools. Early crate metadata pointed at Jorge Aparicio's japaric/cargo-binutils repository, and the project later settled under the rust-embedded organization, where the README says it is maintained by the Embedded Working Group Tools team while also noting that it is not an official Rust project.

Its scope grew from a small set of cargo-nm, cargo-objcopy, cargo-objdump, cargo-profdata, and cargo-size commands into a broader wrapper set that also includes rust-* command proxies such as rust-objcopy, rust-size, rust-readobj, rust-strip, rust-lld, and rust-cov. The current README frames the tool as sugar over LLVM tools from rustup's llvm-tools component.

### Adoption history

cargo-binutils became a standard convenience tool in embedded Rust because it connects Cargo builds with artifact inspection commands that embedded developers already need for symbol tables, section sizes, disassembly, and binary conversion. Its maintenance home in rust-embedded and its packaging across Homebrew, Debian, Ubuntu, Nix, pacman, and Fedora-style package names reflect that it escaped the purely crates.io audience.

Crates.io reports more than 2.7 million total downloads and the current crate metadata classifies it under command-line utilities and development tools. That adoption is reinforced by rustup's llvm-tools component: cargo-binutils does not ship its own LLVM, it makes the toolchain-provided LLVM tools easier to call.

### How it is used

A typical installation is `cargo install cargo-binutils` followed by `rustup component add llvm-tools`. Users then run commands such as `cargo size --release`, `cargo objdump --release -- --disassemble`, `cargo nm --release`, or the lower-level `rust-size` and `rust-objdump` proxies.

The important usage pattern is build-and-inspect: cargo-binutils can accept familiar Cargo selectors such as `--bin`, `--example`, `--lib`, `--target`, and `--release`, build the requested target, and pass the generated artifact path to the LLVM tool.

### Why package nerds care

For package nerds, cargo-binutils is interesting because it packages compiler-toolchain internals as stable-feeling Cargo subcommands without vendoring the underlying tools. It sits at the boundary between rustup components, LLVM command naming, Cargo metadata, and distribution packaging.

It is especially notable in embedded packaging culture: size reports, symbol listings, object copying, and disassembly are routine release tasks for firmware, and cargo-binutils made those tasks reproducible from a Rust package-manager workflow.

### Timeline

- 2018-04-06: Current rust-embedded/cargo-binutils GitHub repository was created.
- 2018-06-29: cargo-binutils 0.1.0 was published on crates.io with cargo-nm, cargo-objcopy, cargo-objdump, cargo-profdata, and cargo-size binaries.
- 2018-12-19: The 0.1.6 crate metadata still referenced the earlier japaric/cargo-binutils repository.
- 2020: The 0.2 and 0.3 lines expanded the proxy set with more rust-* and cargo-* LLVM tools.
- 2025-08-26: Version 0.4.0 was published, listing the broader command set including cargo-cov, cargo-readobj, cargo-strip, rust-lld, and rust-as.

### Related projects

- rustup's llvm-tools component supplies the LLVM binaries that cargo-binutils invokes.
- LLVM binutils such as llvm-nm, llvm-objdump, llvm-objcopy, llvm-size, llvm-readobj, and llvm-strip are the underlying tools exposed by the package.
- The rust-embedded working group ecosystem is the cultural home for many of the workflows cargo-binutils targets.

### Sources

- GitHub repository API metadata: https://api.github.com/repos/rust-embedded/cargo-binutils
- Official README: https://github.com/rust-embedded/cargo-binutils#readme
- Package-manager adoption from source_facts.package-manager.
- crates.io API metadata and versions: https://crates.io/api/v1/crates/cargo-binutils


## 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:** cargo-binutils
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - cargo-binutils - 0.3.6-2+b1: normalized package name match | Debian stable package indexes: cargo-binutils from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Proxy for LLVM tools like llvm-nm, llvm-objdump and llvm-size | https://github.com/rust-embedded/cargo-binutils/
- Nix - cargo-binutils: normalized package name match | nixpkgs package indexes: pkgs/by-name/ca/cargo-binutils/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - cargo-binutils - 0.3.5-3: normalized package name match | Ubuntu 24.04 LTS package indexes: cargo-binutils from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Proxy for LLVM tools like llvm-nm, llvm-objdump and llvm-size
- pacman - cargo-binutils - 0.4.0-1: normalized package name match | Arch Linux sync databases: cargo-binutils from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Cargo subcommands to invoke the LLVM tools shipped with the Rust toolchain | https://github.com/rust-embedded/cargo-binutils
- Debian apt - librust-ar-dev - 0.9.0-1+b2: installed executable or alias match | Debian stable package indexes: librust-ar-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Encoding/decoding Unix archive files - Rust source code
- Ubuntu apt - librust-ar-dev - 0.9.0-1: installed executable or alias match | Ubuntu 24.04 LTS package indexes: librust-ar-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Encoding/decoding Unix archive files - Rust source code
- dnf - rust-ar+default-devel - 0.9.0-6.fc44: installed executable or alias match | Fedora Rawhide package metadata: rust-ar+default-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Library for encoding/decoding Unix archive files | https://crates.io/crates/ar
- dnf - rust-ar-devel - 0.9.0-6.fc44: installed executable or alias match | Fedora Rawhide package metadata: rust-ar-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Library for encoding/decoding Unix archive files | https://crates.io/crates/ar
- dnf - rust-size+default-devel - 0.5.0-3.fc44: installed executable or alias match | Fedora Rawhide package metadata: rust-size+default-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | For expressing, formatting, and interacting with file sizes | https://crates.io/crates/size
- dnf - rust-size+serde-devel - 0.5.0-3.fc44: installed executable or alias match | Fedora Rawhide package metadata: rust-size+serde-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | For expressing, formatting, and interacting with file sizes | https://crates.io/crates/size
- dnf - rust-size+std-devel - 0.5.0-3.fc44: installed executable or alias match | Fedora Rawhide package metadata: rust-size+std-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | For expressing, formatting, and interacting with file sizes | https://crates.io/crates/size
- dnf - rust-size-devel - 0.5.0-3.fc44: installed executable or alias match | Fedora Rawhide package metadata: rust-size-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | For expressing, formatting, and interacting with file sizes | https://crates.io/crates/size


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Package publisher tools](https://www.automicvault.com/pkg/package-publishers/) - Belongs to a package publishing or registry command family.
- [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.
- [rust](https://www.automicvault.com/pkg/brew/rust/) - Build dependency declared by Homebrew.
- [cargo-llvm-cov](https://www.automicvault.com/pkg/brew/cargo-llvm-cov/) - Shares av.db curated category or tags: cargo, cli, developer-tools, llvm, rust.
- [cargo-llvm-lines](https://www.automicvault.com/pkg/brew/cargo-llvm-lines/) - Shares av.db curated category or tags: cargo, cli, developer-tools, llvm, rust.
- [cargo-auditable](https://www.automicvault.com/pkg/brew/cargo-auditable/) - Shares av.db curated category or tags: cargo, cli, developer-tools, rust.
- [cargo-binstall](https://www.automicvault.com/pkg/brew/cargo-binstall/) - Shares av.db curated category or tags: cargo, cli, developer-tools, rust.
- [cargo-bloat](https://www.automicvault.com/pkg/brew/cargo-bloat/) - Shares av.db curated category or tags: cargo, cli, developer-tools, rust.
- [cargo-bundle](https://www.automicvault.com/pkg/brew/cargo-bundle/) - Shares av.db curated category or tags: cargo, cli, developer-tools, rust.
- [cargo-c](https://www.automicvault.com/pkg/brew/cargo-c/) - Shares av.db curated category or tags: cargo, cli, developer-tools, rust.
- [cargo-cache](https://www.automicvault.com/pkg/brew/cargo-cache/) - Shares av.db curated category or tags: cargo, cli, developer-tools, rust.
- [cargo-binutils](https://www.automicvault.com/pkg/cargo/cargo-binutils/) - Same normalized package name exists in another local package ecosystem.

## Combined YAML source

View the package source record on GitHub. [combined/cargo-binutils.yml](https://github.com/automic-vault/db/blob/main/combined/cargo-binutils.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
