devel/cargo-binutils - The NetBSD Packages Collection

Invoke the LLVM tools shipped with the Rust toolchain

cargo-binutils contains cargo subcommands to invoke the LLVM tools shipped
with the Rust toolchain.

Features
    All Rust symbols in the output of the LLVM tools are automatically
    demangled.
    No need to pass the path to the artifact as an argument if using the
    tool in "build and inspect" mode.

Usage

$ rust-$tool ${args[@]}

is basically sugar for:

$ $(find $(rustc --print sysroot) -name llvm-$tool) ${args[@]}

Apart from these rust-* tools, which are direct proxies for the llvm tools in
the llvm-tools-preview component, the crate also provides some Cargo
subcommands that will first build the project and then run the llvm tool on the
output artifact.

$ cargo size --example foo

is sugar for:

$ cargo build --example foo
$ rust-size target/examples/foo

These commands take similar options to cargo build and you can specify a
specific binary with --bin NAME, an example with --example NAME or the default
binary by not passing --bin or --example.

In the case of cargo-objdump the architecture of the compilation target is
passed as -arch-name=$target to llvm-objdump. -arch-name specifies to which
architecture disassemble the object file to.

You can get more information about the CLI of each tool by running
rust-$tool -help.

All the Cargo subcommands accept a --verbose / -v flag. In verbose mode the
rust-$tool invocation will be printed to stderr.

Build and inspect mode: Some subcommands accept the flags: --bin, --example,
--lib, --target and --release. These can be used to make the subcommand first
build the respective binary, example or library and have the path to the
artifact be automatically passed to the LLVM tool. This mode only works when
the subcommand is used from within a Cargo project.

Disclaimer Note that cargo-binutils simply proxies the LLVM tools in the
llvm-tools-preview component and the Rust project makes no guarantee about the
availability and the CLI of these tools -- i.e. the availability and CLI of
these tools may change as new Rust releases are made.

Build dependencies

lang/rust pkgtools/mktools pkgtools/digest pkgtools/cwrappers

Runtime dependencies

(none)

Binary packages

OSArchitectureVersion
NetBSD 10.0aarch64cargo-binutils-0.3.6.tgz
NetBSD 10.0aarch64cargo-binutils-0.3.6.tgz
NetBSD 10.0aarch64cargo-binutils-0.3.6.tgz
NetBSD 10.0aarch64cargo-binutils-0.3.6.tgz
NetBSD 10.0earmv7hfcargo-binutils-0.3.6.tgz
NetBSD 10.0earmv7hfcargo-binutils-0.3.6.tgz
NetBSD 10.0earmv7hfcargo-binutils-0.3.6.tgz
NetBSD 10.0i386cargo-binutils-0.3.6.tgz
NetBSD 10.0i386cargo-binutils-0.3.6.tgz
NetBSD 10.0i386cargo-binutils-0.3.6.tgz
NetBSD 10.0i386cargo-binutils-0.3.6.tgz
NetBSD 10.0powerpccargo-binutils-0.3.6.tgz
NetBSD 10.0powerpccargo-binutils-0.3.6.tgz
NetBSD 10.0powerpccargo-binutils-0.3.6.tgz
NetBSD 10.0sparc64cargo-binutils-0.3.6.tgz
NetBSD 10.0sparc64cargo-binutils-0.3.6.tgz
NetBSD 10.0x86_64cargo-binutils-0.3.6.tgz
NetBSD 10.0x86_64cargo-binutils-0.3.6.tgz
NetBSD 10.0x86_64cargo-binutils-0.3.6.tgz
NetBSD 10.0x86_64cargo-binutils-0.3.6.tgz
NetBSD 9.0aarch64cargo-binutils-0.3.6.tgz
NetBSD 9.0earmv7hfcargo-binutils-0.3.6.tgz
NetBSD 9.0earmv7hfcargo-binutils-0.3.6.tgz
NetBSD 9.0i386cargo-binutils-0.3.6.tgz
NetBSD 9.0i386cargo-binutils-0.3.6.tgz
NetBSD 9.0i386cargo-binutils-0.3.6.tgz
NetBSD 9.0i386cargo-binutils-0.3.6.tgz
NetBSD 9.0powerpccargo-binutils-0.3.6.tgz
NetBSD 9.0powerpccargo-binutils-0.3.6.tgz
NetBSD 9.0powerpccargo-binutils-0.3.6.tgz
NetBSD 9.0x86_64cargo-binutils-0.3.6.tgz
NetBSD 9.0x86_64cargo-binutils-0.3.6.tgz
NetBSD 9.0x86_64cargo-binutils-0.3.6.tgz
NetBSD 9.0x86_64cargo-binutils-0.3.6.tgz
NetBSD 9.3x86_64cargo-binutils-0.3.6.tgz
NetBSD 9.3x86_64cargo-binutils-0.3.6.tgz

Binary packages can be installed with the high-level tool pkgin (which can be installed with pkg_add) or pkg_add(1) (installed by default). The NetBSD packages collection is also designed to permit easy installation from source.

Available build options

(none)

Known vulnerabilities

The pkg_admin audit command locates any installed package which has been mentioned in security advisories as having vulnerabilities.

Please note the vulnerabilities database might not be fully accurate, and not every bug is exploitable with every configuration.


Problem reports, updates or suggestions for this package should be reported with send-pr.