1LLVM-OBJDUMP(1) LLVM LLVM-OBJDUMP(1)
2
3
4
6 llvm-objdump - LLVM's object file dumper
7
9 llvm-objdump [commands] [options] [filenames...]
10
12 The llvm-objdump utility prints the contents of object files and final
13 linked images named on the command line. If no file name is specified,
14 llvm-objdump will attempt to read from a.out. If - is used as a file
15 name, llvm-objdump will process a file on its standard input stream.
16
18 At least one of the following commands are required, and some commands
19 can be combined with other commands:
20
21 -a, --archive-headers
22 Display the information contained within an archive's headers.
23
24 -d, --disassemble
25 Disassemble all text sections found in the input files.
26
27 -D, --disassemble-all
28 Disassemble all sections found in the input files.
29
30 --disassemble-symbols=<symbol1[,symbol2,...]>
31 Disassemble only the specified symbols. Takes demangled symbol
32 names when --demangle is specified, otherwise takes mangled sym‐
33 bol names. Implies --disassemble.
34
35 --dwarf=<value>
36 Dump the specified DWARF debug sections. The supported values
37 are:
38
39 frames - .debug_frame
40
41 -f, --file-headers
42 Display the contents of the overall file header.
43
44 --fault-map-section
45 Display the content of the fault map section.
46
47 -h, --headers, --section-headers
48 Display summaries of the headers for each section.
49
50 --help Display usage information and exit. Does not stack with other
51 commands.
52
53 -p, --private-headers
54 Display format-specific file headers.
55
56 -r, --reloc
57 Display the relocation entries in the file.
58
59 -R, --dynamic-reloc
60 Display the dynamic relocation entries in the file.
61
62 --raw-clang-ast
63 Dump the raw binary contents of the clang AST section.
64
65 -s, --full-contents
66 Display the contents of each section.
67
68 -t, --syms
69 Display the symbol table.
70
71 -T, --dynamic-syms
72 Display the contents of the dynamic symbol table.
73
74 -u, --unwind-info
75 Display the unwind info of the input(s).
76
77 -v, --version
78 Display the version of the llvm-objdump executable. Does not
79 stack with other commands.
80
81 -x, --all-headers
82 Display all available header information. Equivalent to specify‐
83 ing --archive-headers, --file-headers, --private-headers,
84 --reloc, --section-headers, and --syms.
85
87 llvm-objdump supports the following options:
88
89 --adjust-vma=<offset>
90 Increase the displayed address in disassembly or section header
91 printing by the specified offset.
92
93 --arch-name=<string>
94 Specify the target architecture when disassembling. Use
95 --version for a list of available targets.
96
97 -C, --demangle
98 Demangle symbol names in the output.
99
100 --debug-vars=<format>
101 Print the locations (in registers or memory) of source-level
102 variables alongside disassembly. format may be unicode or ascii,
103 defaulting to unicode if omitted.
104
105 --debug-vars-indent=<width>
106 Distance to indent the source-level variable display, relative
107 to the start of the disassembly. Defaults to 52 characters.
108
109 -j, --section=<section1[,section2,...]>
110 Perform commands on the specified sections only. For Mach-O use
111 segment,section to specify the section name.
112
113 -l, --line-numbers
114 When disassembling, display source line numbers. Implies
115 --disassemble.
116
117 -M, --disassembler-options=<opt1[,opt2,...]>
118 Pass target-specific disassembler options. Available options:
119
120 • reg-names-std: ARM only (default). Print in ARM 's instruction
121 set documentation, with r13/r14/r15 replaced by sp/lr/pc.
122
123 • reg-names-raw: ARM only. Use r followed by the register num‐
124 ber.
125
126 • no-aliases: AArch64 and RISC-V only. Print raw instruction
127 mnemonic instead of pesudo instruction mnemonic.
128
129 • numeric: RISC-V only. Print raw register names instead of ABI
130 mnemonic. (e.g. print x1 instead of ra)
131
132 • att: x86 only (default). Print in the AT&T syntax.
133
134 • intel: x86 only. Print in the intel syntax.
135
136 --mcpu=<cpu-name>
137 Target a specific CPU type for disassembly. Specify --mcpu=help
138 to display available CPUs.
139
140 --mattr=<a1,+a2,-a3,...>
141 Enable/disable target-specific attributes. Specify --mattr=help
142 to display the available attributes.
143
144 --no-leading-addr
145 When disassembling, do not print leading addresses.
146
147 --no-print-imm-hex
148 Do not use hex format for immediate values in disassembly output
149 (default).
150
151 --no-show-raw-insn
152 When disassembling, do not print the raw bytes of each instruc‐
153 tion.
154
155 --prefix=<prefix>
156 When disassembling with the --source option, prepend prefix to
157 absolute paths.
158
159 --prefix-strip=<level>
160 When disassembling with the --source option, strip out level
161 initial directories from absolute paths. This option has no ef‐
162 fect without --prefix.
163
164 --print-imm-hex
165 Use hex format when printing immediate values in disassembly
166 output.
167
168 -S, --source
169 When disassembling, display source interleaved with the disas‐
170 sembly. Implies --disassemble.
171
172 --show-lma
173 Display the LMA column when dumping ELF section headers. De‐
174 faults to off unless any section has different VMA and LMAs.
175
176 --start-address=<address>
177 When disassembling, only disassemble from the specified address.
178
179 When printing relocations, only print the relocations patching
180 offsets from at least address.
181
182 When printing symbols, only print symbols with a value of at
183 least address.
184
185 --stop-address=<address>
186 When disassembling, only disassemble up to, but not including
187 the specified address.
188
189 When printing relocations, only print the relocations patching
190 offsets up to address.
191
192 When printing symbols, only print symbols with a value up to ad‐
193 dress.
194
195 --symbolize-operands
196 When disassembling, symbolize a branch target operand to print a
197 label instead of a real address.
198
199 When printing a PC-relative global symbol reference, print it as
200 an offset from the leading symbol.
201
202 Only works with an X86 linked image.
203
204 Example:
205 A non-symbolized branch instruction with a local target
206 and pc-relative memory access like
207
208 cmp eax, dword ptr [rip + 4112]
209 jge 0x20117e <_start+0x25>
210
211 might become
212
213 <L0>:
214 cmp eax, dword ptr <g>
215 jge <L0>
216
217 --triple=<string>
218 Target triple to disassemble for, see --version for available
219 targets.
220
221 -w, --wide
222 Ignored for compatibility with GNU objdump.
223
224 --x86-asm-syntax=<style>
225 Deprecated. When used with --disassemble, choose style of code
226 to emit from X86 backend. Supported values are:
227
228 att AT&T-style assembly
229
230 intel Intel-style assembly
231
232 The default disassembly style is att.
233
234 -z, --disassemble-zeroes
235 Do not skip blocks of zeroes when disassembling.
236
237 @<FILE>
238 Read command-line options and commands from response file
239 <FILE>.
240
242 --arch=<architecture>
243 Specify the architecture to disassemble. see --version for
244 available architectures.
245
246 --archive-member-offsets
247 Print the offset to each archive member for Mach-O archives (re‐
248 quires --archive-headers).
249
250 --bind Display binding info
251
252 --data-in-code
253 Display the data in code table.
254
255 --dis-symname=<name>
256 Disassemble just the specified symbol's instructions.
257
258 --dylibs-used
259 Display the shared libraries used for linked files.
260
261 --dsym=<string>
262 Use .dSYM file for debug info.
263
264 --dylib-id
265 Display the shared library's ID for dylib files.
266
267 --exports-trie
268 Display exported symbols.
269
270 --function-starts
271 Print the function starts table for Mach-O objects.
272
273 -g Print line information from debug info if available.
274
275 --full-leading-addr
276 Print the full leading address when disassembling.
277
278 --indirect-symbols
279 Display the indirect symbol table.
280
281 --info-plist
282 Display the info plist section as strings.
283
284 --lazy-bind
285 Display lazy binding info.
286
287 --link-opt-hints
288 Display the linker optimization hints.
289
290 -m, --macho
291 Use Mach-O specific object file parser. Commands and other op‐
292 tions may behave differently when used with --macho.
293
294 --no-leading-headers
295 Do not print any leading headers.
296
297 --no-symbolic-operands
298 Do not print symbolic operands when disassembling.
299
300 --non-verbose
301 Display the information for Mach-O objects in non-verbose or nu‐
302 meric form.
303
304 --objc-meta-data
305 Display the Objective-C runtime meta data.
306
307 --private-header
308 Display only the first format specific file header.
309
310 --rebase
311 Display rebasing information.
312
313 --rpaths
314 Display runtime search paths for the binary.
315
316 --universal-headers
317 Display universal headers.
318
319 --weak-bind
320 Display weak binding information.
321
323 --symbol-description
324 Add symbol description to disassembly output.
325
327 To report bugs, please visit <https://bugs.llvm.org/>.
328
330 llvm-nm(1), llvm-otool(1), llvm-readelf(1), llvm-readobj(1)
331
333 Maintained by the LLVM Team (https://llvm.org/).
334
336 2003-2023, LLVM Project
337
338
339
340
34113 2023-07-20 LLVM-OBJDUMP(1)