thorin
thorin
is an DWARF packaging utility for creating DWARF packages (*.dwp
files) out of input
DWARF objects (*.dwo
files; or *.o
files with .dwo
sections), supporting both the pre-standard
GNU extension format for DWARF packages and the standardized format introduced in DWARF 5.
thorin
was written as part of the implementation of Split DWARF in rustc
. A Rust implementation
of a DWARF packaging utility is easier to integrate into the compiler and can support features like
loading dwarf objects from archive files (or rustc's rlibs) which are helpful in supporting
cross-crate Split DWARF packaging in rustc
.
Usage
thorin
can read input DWARF objects from executables or can package arbitrary input dwarf
objects (including DWARF objects in archive files, such as Rust rlibs)! Install thorin
using
cargo
:
$ cargo install thorin-dwp-bin
$ thorin --help
thorin 0.3.0
merge dwarf objects into dwarf packages
USAGE:
thorin [OPTIONS] [--] [inputs]...
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-e, --exec <executables>... Specify path to executables to read list of dwarf objects from
-o, --output <output> Specify path to write the dwarf package to [default: -]
ARGS:
<inputs>... Specify path to input dwarf objects and packages
If the input objects are of DWARF version 5 or greater, then the output package will be in DWARF 5 format. For version 4 and below, the GNU Extension format will be used for the output package.
Stability
thorin
's command-line interface is intended to be stable and have limited breaking changes.