14a68586dSMichael Trentllvm-objdump - LLVM's object file dumper
24a68586dSMichael Trent========================================
34a68586dSMichael Trent
4a056684cSJames Henderson.. program:: llvm-objdump
5a056684cSJames Henderson
64a68586dSMichael TrentSYNOPSIS
74a68586dSMichael Trent--------
84a68586dSMichael Trent
94a68586dSMichael Trent:program:`llvm-objdump` [*commands*] [*options*] [*filenames...*]
104a68586dSMichael Trent
114a68586dSMichael TrentDESCRIPTION
124a68586dSMichael Trent-----------
134a68586dSMichael TrentThe :program:`llvm-objdump` utility prints the contents of object files and
144a68586dSMichael Trentfinal linked images named on the command line. If no file name is specified,
154a68586dSMichael Trent:program:`llvm-objdump` will attempt to read from *a.out*. If *-* is used as a
164a68586dSMichael Trentfile name, :program:`llvm-objdump` will process a file on its standard input
174a68586dSMichael Trentstream.
184a68586dSMichael Trent
194a68586dSMichael TrentCOMMANDS
204a68586dSMichael Trent--------
217e660211SMichael TrentAt least one of the following commands are required, and some commands can be
227e660211SMichael Trentcombined with other commands:
234a68586dSMichael Trent
24a8ed354bSJames Henderson.. option:: -a, --archive-headers
25a8ed354bSJames Henderson
26a8ed354bSJames Henderson  Display the information contained within an archive's headers.
27a8ed354bSJames Henderson
28a8ed354bSJames Henderson.. option:: -d, --disassemble
294a68586dSMichael Trent
308447b419SJames Henderson  Disassemble all text sections found in the input files.
317e660211SMichael Trent
32a8ed354bSJames Henderson.. option:: -D, --disassemble-all
337e660211SMichael Trent
348447b419SJames Henderson  Disassemble all sections found in the input files.
354a68586dSMichael Trent
360d673be1SFangrui Song.. option:: --disassemble-symbols=<symbol1[,symbol2,...]>
374a68586dSMichael Trent
382dcd2c24SYuanfang Chen  Disassemble only the specified symbols. Takes demangled symbol names when
392dcd2c24SYuanfang Chen  :option:`--demangle` is specified, otherwise takes mangled symbol names.
402dcd2c24SYuanfang Chen  Implies :option:`--disassemble`.
414a68586dSMichael Trent
42a8ed354bSJames Henderson.. option:: --dwarf=<value>
434a68586dSMichael Trent
44a8ed354bSJames Henderson  Dump the specified DWARF debug sections. The supported values are:
454a68586dSMichael Trent
46a8ed354bSJames Henderson  `frames` - .debug_frame
474a68586dSMichael Trent
48a8ed354bSJames Henderson.. option:: -f, --file-headers
494a68586dSMichael Trent
50a8ed354bSJames Henderson  Display the contents of the overall file header.
51a8ed354bSJames Henderson
52a8ed354bSJames Henderson.. option:: --fault-map-section
53a8ed354bSJames Henderson
54a8ed354bSJames Henderson  Display the content of the fault map section.
55a8ed354bSJames Henderson
56a8ed354bSJames Henderson.. option:: -h, --headers, --section-headers
574a68586dSMichael Trent
584a68586dSMichael Trent  Display summaries of the headers for each section.
594a68586dSMichael Trent
60a8ed354bSJames Henderson.. option:: --help
61a8ed354bSJames Henderson
62a8ed354bSJames Henderson  Display usage information and exit. Does not stack with other commands.
63a8ed354bSJames Henderson
64a8ed354bSJames Henderson.. option:: -p, --private-headers
65a8ed354bSJames Henderson
66a8ed354bSJames Henderson  Display format-specific file headers.
67a8ed354bSJames Henderson
68a8ed354bSJames Henderson.. option:: -r, --reloc
69a8ed354bSJames Henderson
70a8ed354bSJames Henderson  Display the relocation entries in the file.
71a8ed354bSJames Henderson
72a8ed354bSJames Henderson.. option:: -R, --dynamic-reloc
73a8ed354bSJames Henderson
74a8ed354bSJames Henderson  Display the dynamic relocation entries in the file.
75a8ed354bSJames Henderson
76a8ed354bSJames Henderson.. option:: --raw-clang-ast
77a8ed354bSJames Henderson
78a8ed354bSJames Henderson  Dump the raw binary contents of the clang AST section.
79a8ed354bSJames Henderson
80a8ed354bSJames Henderson.. option:: -s, --full-contents
81a8ed354bSJames Henderson
82a8ed354bSJames Henderson  Display the contents of each section.
83a8ed354bSJames Henderson
84a8ed354bSJames Henderson.. option:: -t, --syms
854a68586dSMichael Trent
864a68586dSMichael Trent  Display the symbol table.
874a68586dSMichael Trent
88948ef5b1Svgxbj.. option:: -T, --dynamic-syms
89948ef5b1Svgxbj
90948ef5b1Svgxbj  Display the contents of the dynamic symbol table.
91948ef5b1Svgxbj
92a8ed354bSJames Henderson.. option:: -u, --unwind-info
93a8ed354bSJames Henderson
94a8ed354bSJames Henderson  Display the unwind info of the input(s).
95a8ed354bSJames Henderson
96a8ed354bSJames Henderson.. option:: --version
974a68586dSMichael Trent
98778a5e57SJames Henderson  Display the version of the :program:`llvm-objdump` executable. Does not stack
99778a5e57SJames Henderson  with other commands.
1004a68586dSMichael Trent
101a8ed354bSJames Henderson.. option:: -x, --all-headers
102a8ed354bSJames Henderson
103a8ed354bSJames Henderson  Display all available header information. Equivalent to specifying
104a8ed354bSJames Henderson  :option:`--archive-headers`, :option:`--file-headers`,
105a8ed354bSJames Henderson  :option:`--private-headers`, :option:`--reloc`, :option:`--section-headers`,
106a8ed354bSJames Henderson  and :option:`--syms`.
107a8ed354bSJames Henderson
1084a68586dSMichael TrentOPTIONS
1094a68586dSMichael Trent-------
1104a68586dSMichael Trent:program:`llvm-objdump` supports the following options:
1114a68586dSMichael Trent
112a8ed354bSJames Henderson.. option:: --adjust-vma=<offset>
1134a68586dSMichael Trent
114a8ed354bSJames Henderson  Increase the displayed address in disassembly or section header printing by
115a8ed354bSJames Henderson  the specified offset.
1164a68586dSMichael Trent
117a8ed354bSJames Henderson.. option:: --arch-name=<string>
1184a68586dSMichael Trent
1192dcd2c24SYuanfang Chen  Specify the target architecture when disassembling. Use :option:`--version`
120a8ed354bSJames Henderson  for a list of available targets.
1214a68586dSMichael Trent
122a8ed354bSJames Henderson.. option:: -C, --demangle
1234a68586dSMichael Trent
124a8ed354bSJames Henderson  Demangle symbol names in the output.
1254a68586dSMichael Trent
126a8ed354bSJames Henderson.. option:: -j, --section=<section1[,section2,...]>
1274a68586dSMichael Trent
1288447b419SJames Henderson  Perform commands on the specified sections only. For Mach-O use
1298447b419SJames Henderson  `segment,section` to specify the section name.
1304a68586dSMichael Trent
131a8ed354bSJames Henderson.. option:: -l, --line-numbers
1324a68586dSMichael Trent
1338447b419SJames Henderson  When disassembling, display source line numbers. Implies
134a8ed354bSJames Henderson  :option:`--disassemble`.
1354a68586dSMichael Trent
136a8ed354bSJames Henderson.. option:: -M, --disassembler-options=<opt1[,opt2,...]>
1374a68586dSMichael Trent
138a8ed354bSJames Henderson  Pass target-specific disassembler options. Currently supported for ARM targets
139a8ed354bSJames Henderson  only. Available options are ``reg-names-std`` and ``reg-names-raw``.
1404a68586dSMichael Trent
141a8ed354bSJames Henderson.. option:: --mcpu=<cpu-name>
1424a68586dSMichael Trent
143a8ed354bSJames Henderson  Target a specific CPU type for disassembly. Specify ``--mcpu=help`` to display
144a8ed354bSJames Henderson  available CPUs.
1454a68586dSMichael Trent
146a8ed354bSJames Henderson.. option:: --mattr=<a1,+a2,-a3,...>
1474a68586dSMichael Trent
148a8ed354bSJames Henderson  Enable/disable target-specific attributes. Specify ``--mcpu=help`` to display
149a8ed354bSJames Henderson  the available attributes.
1504a68586dSMichael Trent
151a8ed354bSJames Henderson.. option:: --no-leading-addr
1524a68586dSMichael Trent
1538447b419SJames Henderson  When disassembling, do not print leading addresses.
1544a68586dSMichael Trent
155a8ed354bSJames Henderson.. option:: --no-show-raw-insn
1564a68586dSMichael Trent
1578447b419SJames Henderson  When disassembling, do not print the raw bytes of each instruction.
158a8ed354bSJames Henderson
159a8ed354bSJames Henderson.. option:: --print-imm-hex
160a8ed354bSJames Henderson
161a8ed354bSJames Henderson  Use hex format when printing immediate values in disassembly output.
162a8ed354bSJames Henderson
163a8ed354bSJames Henderson.. option:: -S, --source
164a8ed354bSJames Henderson
1658447b419SJames Henderson  When disassembling, display source interleaved with the disassembly. Implies
1668447b419SJames Henderson  :option:`--disassemble`.
167a8ed354bSJames Henderson
168a8ed354bSJames Henderson.. option:: --show-lma
169a8ed354bSJames Henderson
170a8ed354bSJames Henderson  Display the LMA column when dumping ELF section headers. Defaults to off
171a8ed354bSJames Henderson  unless any section has different VMA and LMAs.
172a8ed354bSJames Henderson
173a8ed354bSJames Henderson.. option:: --start-address=<address>
174a8ed354bSJames Henderson
175a8ed354bSJames Henderson  When disassembling, only disassemble from the specified address.
176a8ed354bSJames Henderson
177a8ed354bSJames Henderson  When printing relocations, only print the relocations patching offsets from at least ``address``.
178a8ed354bSJames Henderson
179a8ed354bSJames Henderson  When printing symbols, only print symbols with a value of at least ``address``.
180a8ed354bSJames Henderson
181a8ed354bSJames Henderson.. option:: --stop-address=<address>
182a8ed354bSJames Henderson
183a8ed354bSJames Henderson  When disassembling, only disassemble up to, but not including the specified address.
184a8ed354bSJames Henderson
185a8ed354bSJames Henderson  When printing relocations, only print the relocations patching offsets up to ``address``.
186a8ed354bSJames Henderson
187a8ed354bSJames Henderson  When printing symbols, only print symbols with a value up to ``address``.
188a8ed354bSJames Henderson
189a8ed354bSJames Henderson.. option:: --triple=<string>
190a8ed354bSJames Henderson
191a8ed354bSJames Henderson  Target triple to disassemble for, see ``--version`` for available targets.
192a8ed354bSJames Henderson
193a8ed354bSJames Henderson.. option:: -w, --wide
194a8ed354bSJames Henderson
195a8ed354bSJames Henderson  Ignored for compatibility with GNU objdump.
196a8ed354bSJames Henderson
197a8ed354bSJames Henderson.. option:: --x86-asm-syntax=<style>
198a8ed354bSJames Henderson
1992dcd2c24SYuanfang Chen  When used with :option:`--disassemble`, choose style of code to emit from
2004a68586dSMichael Trent  X86 backend. Supported values are:
2014a68586dSMichael Trent
2024a68586dSMichael Trent   .. option:: att
2034a68586dSMichael Trent
2044a68586dSMichael Trent    AT&T-style assembly
2054a68586dSMichael Trent
2064a68586dSMichael Trent   .. option:: intel
2074a68586dSMichael Trent
2084a68586dSMichael Trent    Intel-style assembly
2094a68586dSMichael Trent
2104a68586dSMichael Trent
2114a68586dSMichael Trent  The default disassembly style is **att**.
2124a68586dSMichael Trent
213a8ed354bSJames Henderson.. option:: -z, --disassemble-zeroes
214a8ed354bSJames Henderson
215a8ed354bSJames Henderson  Do not skip blocks of zeroes when disassembling.
216a8ed354bSJames Henderson
217f7212dbeSJames Henderson.. option:: @<FILE>
218f7212dbeSJames Henderson
219f7212dbeSJames Henderson  Read command-line options and commands from response file `<FILE>`.
220f7212dbeSJames Henderson
221a8ed354bSJames HendersonMACH-O ONLY OPTIONS AND COMMANDS
222a8ed354bSJames Henderson--------------------------------
223a8ed354bSJames Henderson
224a8ed354bSJames Henderson.. option:: --arch=<architecture>
225a8ed354bSJames Henderson
226a8ed354bSJames Henderson  Specify the architecture to disassemble. see ``--version`` for available
227a8ed354bSJames Henderson  architectures.
228a8ed354bSJames Henderson
229a8ed354bSJames Henderson.. option:: --archive-member-offsets
230a8ed354bSJames Henderson
231a8ed354bSJames Henderson  Print the offset to each archive member for Mach-O archives (requires
232a8ed354bSJames Henderson  :option:`--archive-headers`).
233a8ed354bSJames Henderson
234a8ed354bSJames Henderson.. option:: --bind
235a8ed354bSJames Henderson
236a8ed354bSJames Henderson  Display binding info
237a8ed354bSJames Henderson
238a8ed354bSJames Henderson.. option:: --cfg
239a8ed354bSJames Henderson
240a8ed354bSJames Henderson  Create a CFG for every symbol in the object file and write it to a graphviz
241a8ed354bSJames Henderson  file.
242a8ed354bSJames Henderson
243a8ed354bSJames Henderson.. option:: --data-in-code
244a8ed354bSJames Henderson
245a8ed354bSJames Henderson  Display the data in code table.
246a8ed354bSJames Henderson
247a8ed354bSJames Henderson.. option:: --dis-symname=<name>
248a8ed354bSJames Henderson
249a8ed354bSJames Henderson  Disassemble just the specified symbol's instructions.
250a8ed354bSJames Henderson
251a8ed354bSJames Henderson.. option:: --dylibs-used
252a8ed354bSJames Henderson
253a8ed354bSJames Henderson  Display the shared libraries used for linked files.
254a8ed354bSJames Henderson
255a8ed354bSJames Henderson.. option:: --dsym=<string>
256a8ed354bSJames Henderson
257a8ed354bSJames Henderson  Use .dSYM file for debug info.
258a8ed354bSJames Henderson
259a8ed354bSJames Henderson.. option:: --dylib-id
260a8ed354bSJames Henderson
261a8ed354bSJames Henderson  Display the shared library's ID for dylib files.
262a8ed354bSJames Henderson
263a8ed354bSJames Henderson.. option:: --exports-trie
264a8ed354bSJames Henderson
265a8ed354bSJames Henderson  Display exported symbols.
266a8ed354bSJames Henderson
267a8ed354bSJames Henderson.. option:: -g
268a8ed354bSJames Henderson
269a8ed354bSJames Henderson  Print line information from debug info if available.
270a8ed354bSJames Henderson
271a8ed354bSJames Henderson.. option:: --full-leading-addr
272a8ed354bSJames Henderson
273a8ed354bSJames Henderson  Print the full leading address when disassembling.
274a8ed354bSJames Henderson
275a8ed354bSJames Henderson.. option:: --indirect-symbols
276a8ed354bSJames Henderson
277a8ed354bSJames Henderson  Display the indirect symbol table.
278a8ed354bSJames Henderson
279a8ed354bSJames Henderson.. option:: --info-plist
280a8ed354bSJames Henderson
281a8ed354bSJames Henderson  Display the info plist section as strings.
282a8ed354bSJames Henderson
283a8ed354bSJames Henderson.. option:: --lazy-bind
284a8ed354bSJames Henderson
285a8ed354bSJames Henderson  Display lazy binding info.
286a8ed354bSJames Henderson
287a8ed354bSJames Henderson.. option:: --link-opt-hints
288a8ed354bSJames Henderson
289a8ed354bSJames Henderson  Display the linker optimization hints.
290a8ed354bSJames Henderson
291a8ed354bSJames Henderson.. option:: -m, --macho
292a8ed354bSJames Henderson
293a8ed354bSJames Henderson  Use Mach-O specific object file parser. Commands and other options may behave
294a8ed354bSJames Henderson  differently when used with ``--macho``.
295a8ed354bSJames Henderson
296a8ed354bSJames Henderson.. option:: --no-leading-headers
297a8ed354bSJames Henderson
298a8ed354bSJames Henderson  Do not print any leading headers.
299a8ed354bSJames Henderson
300a8ed354bSJames Henderson.. option:: --no-symbolic-operands
301a8ed354bSJames Henderson
302a8ed354bSJames Henderson  Do not print symbolic operands when disassembling.
303a8ed354bSJames Henderson
304a8ed354bSJames Henderson.. option:: --non-verbose
305a8ed354bSJames Henderson
306a8ed354bSJames Henderson  Display the information for Mach-O objects in non-verbose or numeric form.
307a8ed354bSJames Henderson
308a8ed354bSJames Henderson.. option:: --objc-meta-data
309a8ed354bSJames Henderson
310a8ed354bSJames Henderson  Display the Objective-C runtime meta data.
311a8ed354bSJames Henderson
312a8ed354bSJames Henderson.. option:: --private-header
313a8ed354bSJames Henderson
314a8ed354bSJames Henderson  Display only the first format specific file header.
315a8ed354bSJames Henderson
316a8ed354bSJames Henderson.. option:: --rebase
317a8ed354bSJames Henderson
318a8ed354bSJames Henderson  Display rebasing information.
319a8ed354bSJames Henderson
320a8ed354bSJames Henderson.. option:: --universal-headers
321a8ed354bSJames Henderson
322a8ed354bSJames Henderson  Display universal headers.
323a8ed354bSJames Henderson
324a8ed354bSJames Henderson.. option:: --weak-bind
325a8ed354bSJames Henderson
326a8ed354bSJames Henderson  Display weak binding information.
327a8ed354bSJames Henderson
328*a26a441bSdiggerlinXCOFF ONLY OPTIONS AND COMMANDS
329*a26a441bSdiggerlin---------------------------------
330*a26a441bSdiggerlin
331*a26a441bSdiggerlin.. option:: --symbol-description
332*a26a441bSdiggerlin
333*a26a441bSdiggerlin  Add symbol description to disassembly output.
334*a26a441bSdiggerlin
3354a68586dSMichael TrentBUGS
3364a68586dSMichael Trent----
3374a68586dSMichael Trent
33898605174SSylvestre LedruTo report bugs, please visit <https://bugs.llvm.org/>.
3394a68586dSMichael Trent
3404a68586dSMichael TrentSEE ALSO
3414a68586dSMichael Trent--------
3424a68586dSMichael Trent
34392b32a90SJames Henderson:manpage:`llvm-nm(1)`, :manpage:`llvm-readelf(1)`, :manpage:`llvm-readobj(1)`
344