LLVM-DWARFUTIL(1)
π LLVM-DWARFUTIL(1) π
okay bestie, sit down, hydrate, and let me tell you about llvm-dwarfutil β it's the LLVM girlie that copies and messes with debug info β¨
πΈ NAME πΈ
llvm-dwarfutil β a tool to copy and manipulate debug info π«Ά
π SYNOPSIS π
llvm-dwarfutil [options] input output
π¦ DESCRIPTION π¦
so llvm-dwarfutil is literally a tool to copy and manipulate debug info. that's the whole job, no cap.
in its basic usage era, it makes a semantic copy of the input to the output. like, a faithful little copy, vibe intact. but the second you start throwing options at it, the output may be modified along the way β for example by removing unused debug info. it's giving glow-up, but for your debug sections π
if - is specified for the input file, the input is read from the program's standard input stream. and if - is specified for the output file, the output is written to the standard output stream of the program. classic - behavior, we love a pipe-friendly icon π₯
the tool is still in active development. it's growing, it's evolving, main character energy, be patient with it π
β¨ COMMAND-LINE OPTIONS β¨
--garbage-collectionβ removes pieces of debug information related to discarded sections. the tea here: when the linker does section garbage collection, the abandoned debug info just gets left behind like a forgotten situationship. such abandoned debug info references address ranges using tombstone values. so when this option is specified, the tool removes debug info which is marked with the tombstone value. bye girl π
that option is enabled by default. yes, it's on before you even ask π«Ά
--odr-deduplicationβ remove duplicated types (if "One Definition Rule" is supported by the source language). it keeps the first type definition and removes the other definitions, potentially significantly reducing the size of the output debug info. one type, one crown π
that option is enabled by default too. slay.
--help,-hβ print a summary of command line options. when you're lost, she's got you π--no-garbage-collectionβ disable--garbage-collection.--no-odr-deduplicationβ disable--odr-deduplication.--no-separate-debug-fileβ disable--separate-debug-file.--num-threads=<n>,-jβ specifies the maximum number (n) of simultaneous threads to use for processing. multi-threading era, periodt π§--separate-debug-fileβ generate a separate file containing the output debug info. usingllvm-dwarfutilwith that option equals to the following set of commands:
llvm-objcopy --only-keep-debug in-file out-file.debug
llvm-objcopy --strip-debug in-file out-file
llvm-objcopy --add-gnu-debuglink=out-file.debug out-file
--tombstone=<value>β value can be one of the following values:bfd: zero for all addresses and[1,1]for DWARF v4 (or less) address ranges and exec.maxpc:-1for all addresses and-2for DWARF v4 (or less) address ranges.universal: bothbfdandmaxpc.exec: match with address ranges of executable sections.
the value universal is used by default. iconic default behavior honestly β
--verboseβ enable verbose logging. she'll tell you everything.
this option disables multi-thread mode. trade-off, bestie π
--verifyβ run the DWARF verifier on the output DWARF debug info. quality check, we love accountability π--versionβ print the version of this program.
π§ SUPPORTED FORMATS π§
the following formats are currently supported by llvm-dwarfutil:
- ELF
that's it. that's the list. short but mighty π
π EXIT STATUS π
llvm-dwarfutil exits with a non-zero exit code if there is an error. otherwise, it exits with code 0. so like, if she's mad, she'll let you know π€
π BUGS π
to report bugs, please visit <https://github.com/llvm/llvm-project/labels/tools:llvm-dwarfutil/>.
π AUTHOR π
maintained by the LLVM Team (<https://llvm.org/>).
π COPYRIGHT π
2003-2025, LLVM Project
and that's the whole page, bestie π«Ά this manual page is LLVM-DWARFUTIL(1), dated 2025-09-03, brought to you by the LLVM source β go forth, copy debug info, and slay β¨ππ
π¦ where this page comes from
- fedora 43: llvm20 20.1.8-2.fc43 Β· Apache-2.0 WITH LLVM-exception OR NCSA
- fedora 43: llvm20 20.1.8-2.fc43 Β· Apache-2.0 WITH LLVM-exception OR NCSA
- fedora 44: llvm20 20.1.8-2.fc44 Β· Apache-2.0 WITH LLVM-exception OR NCSA
- fedora 44: llvm20 20.1.8-2.fc44 Β· Apache-2.0 WITH LLVM-exception OR NCSA
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms