LLVM-DWARFUTIL(1)

πŸ’– llvm-dwarfutil β€” the debug-info glow-up tool πŸ’–

okay so bestie, welcome to the llvm-dwarfutil page from the LLVM manual fam β€” this one's all about copying and manipulating debug info, and honestly it's giving main character energy for your object files. ✨


πŸŽ€ 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 vibe. πŸ’…

in basic usage, it makes a semantic copy of the input to the output. and if you specify any options, the output may be modified along the way β€” like, for example, by removing unused debug info. no cap, it's that simple. 🫢

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. pipes for days, iykyk. πŸ”₯

ngl, the tool is still in active development β€” so like, she's iconic but she's still growing. 🧚

✨ COMMAND-LINE OPTIONS ✨

  • --garbage-collection β€” removes pieces of debug information related to discarded sections. so here's the tea: when the linker does section garbage collection, the abandoned debug info is just left behind, and that abandoned debug info references address ranges using tombstone values. thus, when this option is specified, the tool removes debug info which is marked with the tombstone value. πŸ’€ this option is enabled by default.
  • --odr-deduplication β€” removes 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 your output debug info. obsessed with the space savings fr fr. this option is enabled by default. πŸ‘‘
  • --help, -h β€” print a summary of command line options. your little cheat sheet bestie. πŸŽ€
  • --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. go parallel or go home. ⚑
  • --separate-debug-file β€” generate a separate file containing the output debug info. using llvm-dwarfutil with that option equals the following set of commands, literally:
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: -1 for all addresses and -2 for DWARF v4 (or less) address ranges.
    • universal: both bfd and maxpc.
    • exec: match with address ranges of executable sections.

the value universal is used by default. πŸ¦‹

  • --verbose β€” enable verbose logging. heads up bestie: this option disables multi-thread mode. 😭
  • --verify β€” run the DWARF verifier on the output DWARF debug info. vibe check for your debug info, periodt. βœ…
  • --version β€” print the version of this program.

🌈 SUPPORTED FORMATS 🌈

the following formats are currently supported by llvm-dwarfutil:

  • ELF

that's the list. one icon, doing the most. πŸ’œ

⭐ EXIT STATUS ⭐

llvm-dwarfutil exits with a non-zero exit code if there is an error. otherwise, it exits with code 0. so a clean 0 means she ate and left no crumbs. πŸ”₯

πŸ™ˆ BUGS πŸ™ˆ

to report bugs, please visit <https://github.com/llvm/llvm-project/labels/tools:llvm-dwarfutil/>. the LLVM team wants to hear from you, bestie, fr fr. 🫢


πŸ‘‘ Author πŸ‘‘

maintained by the LLVM Team (<https://llvm.org/>). literal icons.

2003-2026, LLVM Project.


and that's the whole page, bestie β€” slay. πŸ’…βœ¨ this one's from the LLVM manual, dated 2026-10-20, and it's the 23rd page in that there manual set. mwah, go forth and debug cute. πŸŽ€πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from
  • arch rolling: llvm 23.1.4-1 Β· Apache-2.0 WITH LLVM-exception
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms