macOS
brew install cargo-binutilslocal Homebrew formula metadata
brew
Cargo subcommands to invoke the LLVM tools shipped with the Rust toolchain. Version 0.4.0 via Homebrew; verified from local package data.
install
brew install cargo-binutilslocal Homebrew formula metadata
sudo apt install cargo-binutilsDebian stable package indexes · cargo-binutils · source: deb.debian.org
nix profile install nixpkgs#cargo-binutilsnixpkgs package indexes · pkgs/by-name/ca/cargo-binutils/package.nix · source: api.github.com
sudo pacman -S cargo-binutilsArch Linux sync databases · cargo-binutils · source: geo.mirror.pkgbuild.com
sudo dnf install rust-ar+default-develFedora Rawhide package metadata · rust-ar+default-devel · source: dl.fedoraproject.org
overview
Cargo subcommands to invoke the LLVM tools shipped with the Rust toolchain
history
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.
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.
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.
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.
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.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
cargo-cov | cli | global executable | |
cargo-nm | cli | global executable | |
cargo-objcopy | cli | global executable | |
cargo-objdump | cli | global executable | |
cargo-profdata | cli | global executable | |
cargo-readobj | cli | global executable | |
cargo-size | cli | global executable | |
cargo-strip | cli | global executable | |
rust-ar | cli | global executable | |
rust-as | cli | global executable | |
rust-cov | cli | global executable | |
rust-ld | cli | global executable | |
rust-lld | cli | global executable | |
rust-nm | cli | global executable | |
rust-objcopy | cli | global executable | |
rust-objdump | cli | global executable | |
rust-profdata | cli | global executable | |
rust-readobj | cli | global executable | |
rust-size | cli | global executable | |
rust-strip | cli | global executable |
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.
https://github.com/rust-embedded/cargo-binutils
install metadata
| Package key | brew:cargo-binutils |
|---|---|
| Version | 0.4.0 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/cargo-binutils |
| 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 |
| Build dependencies | rust |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| 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 |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
cargo-binutils 0.3.6-2+b1
Proxy for LLVM tools like llvm-nm, llvm-objdump and llvm-size
https://github.com/rust-embedded/cargo-binutils/
sudo apt install cargo-binutilscargo-binutils
nix profile install nixpkgs#cargo-binutilscargo-binutils 0.3.5-3
Proxy for LLVM tools like llvm-nm, llvm-objdump and llvm-size
sudo apt install cargo-binutilscargo-binutils 0.4.0-1
Cargo subcommands to invoke the LLVM tools shipped with the Rust toolchain
https://github.com/rust-embedded/cargo-binutils
sudo pacman -S cargo-binutilslibrust-ar-dev 0.9.0-1+b2
Encoding/decoding Unix archive files - Rust source code
sudo apt install librust-ar-devlibrust-ar-dev 0.9.0-1
Encoding/decoding Unix archive files - Rust source code
sudo apt install librust-ar-devrust-ar+default-devel 0.9.0-6.fc44
Library for encoding/decoding Unix archive files
sudo dnf install rust-ar+default-develrust-ar-devel 0.9.0-6.fc44
Library for encoding/decoding Unix archive files
sudo dnf install rust-ar-develrust-size+default-devel 0.5.0-3.fc44
For expressing, formatting, and interacting with file sizes
sudo dnf install rust-size+default-develrust-size+serde-devel 0.5.0-3.fc44
For expressing, formatting, and interacting with file sizes
sudo dnf install rust-size+serde-develrust-size+std-devel 0.5.0-3.fc44
For expressing, formatting, and interacting with file sizes
sudo dnf install rust-size+std-develrust-size-devel 0.5.0-3.fc44
For expressing, formatting, and interacting with file sizes
sudo dnf install rust-size-develsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.