1LLVM-DWARFUTIL(1) LLVM LLVM-DWARFUTIL(1)
2
3
4
6 llvm-dwarfutil - A tool to copy and manipulate debug info
7
9 llvm-dwarfutil [options] input output
10
12 llvm-dwarfutil is a tool to copy and manipulate debug info.
13
14 In basic usage, it makes a semantic copy of the input to the output. If
15 any options are specified, the output may be modified along the way,
16 e.g. by removing unused debug info.
17
18 If "-" is specified for the input file, the input is read from the pro‐
19 gram's standard input stream. If "-" is specified for the output file,
20 the output is written to the standard output stream of the program.
21
22 The tool is still in active development.
23
25 --garbage-collection
26 Removes pieces of debug information related to discarded sec‐
27 tions. When the linker does section garbage collection the
28 abandoned debug info is left behind. Such abandoned debug info
29 references address ranges using tombstone values. Thus, when
30 this option is specified, the tool removes debug info which is
31 marked with the tombstone value.
32
33 That option is enabled by default.
34
35 --odr-deduplication
36 Remove duplicated types (if "One Definition Rule" is supported
37 by source language). Keeps first type definition and removes
38 other definitions, potentially significantly reducing the size
39 of output debug info.
40
41 That option is enabled by default.
42
43 --help, -h
44 Print a summary of command line options.
45
46 --no-garbage-collection
47 Disable --garbage-collection.
48
49 --no-odr-deduplication
50 Disable --odr-deduplication.
51
52 --no-separate-debug-file
53 Disable --separate-debug-file.
54
55 --num-threads=<n>, -j
56 Specifies the maximum number (n) of simultaneous threads to use
57 for processing.
58
59 --separate-debug-file
60 Generate separate file containing output debug info. Using
61 llvm-dwarfutil with that option equals to the following set of
62 commands:
63
64 :program:`llvm-objcopy` --only-keep-debug in-file out-file.debug
65 :program:`llvm-objcopy` --strip-debug in-file out-file
66 :program:`llvm-objcopy` --add-gnu-debuglink=out-file.debug out-file
67
68 --tombstone=<value>
69 <value> can be one of the following values:
70
71 • bfd: zero for all addresses and [1,1] for DWARF v4 (or
72 less) address ranges and exec.
73
74 • maxpc: -1 for all addresses and -2 for DWARF v4 (or less)
75 address ranges.
76
77 • universal: both bfd and maxpc.
78
79 • exec: match with address ranges of executable sections.
80
81 The value universal is used by default.
82
83 --verbose
84 Enable verbose logging. This option disables multi-thread mode.
85
86 --verify
87 Run the DWARF verifier on the output DWARF debug info.
88
89 --version
90 Print the version of this program.
91
93 The following formats are currently supported by llvm-dwarfutil:
94
95 ELF
96
98 llvm-dwarfutil exits with a non-zero exit code if there is an error.
99 Otherwise, it exits with code 0.
100
102 To report bugs, please visit <‐
103 https://github.com/llvm/llvm-project/labels/tools:llvm-dwarfutil/>.
104
106 Maintained by the LLVM Team (https://llvm.org/).
107
109 2003-2023, LLVM Project
110
111
112
113
11415 2023-07-20 LLVM-DWARFUTIL(1)