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
362dcd2c24SYuanfang Chen.. option:: --disassemble-functions=<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
88a8ed354bSJames Henderson.. option:: -u, --unwind-info
89a8ed354bSJames Henderson
90a8ed354bSJames Henderson  Display the unwind info of the input(s).
91a8ed354bSJames Henderson
92a8ed354bSJames Henderson.. option:: --version
934a68586dSMichael Trent
94*778a5e57SJames Henderson  Display the version of the :program:`llvm-objdump` executable. Does not stack
95*778a5e57SJames Henderson  with other commands.
964a68586dSMichael Trent
97a8ed354bSJames Henderson.. option:: -x, --all-headers
98a8ed354bSJames Henderson
99a8ed354bSJames Henderson  Display all available header information. Equivalent to specifying
100a8ed354bSJames Henderson  :option:`--archive-headers`, :option:`--file-headers`,
101a8ed354bSJames Henderson  :option:`--private-headers`, :option:`--reloc`, :option:`--section-headers`,
102a8ed354bSJames Henderson  and :option:`--syms`.
103a8ed354bSJames Henderson
1044a68586dSMichael TrentOPTIONS
1054a68586dSMichael Trent-------
1064a68586dSMichael Trent:program:`llvm-objdump` supports the following options:
1074a68586dSMichael Trent
108a8ed354bSJames Henderson.. option:: --adjust-vma=<offset>
1094a68586dSMichael Trent
110a8ed354bSJames Henderson  Increase the displayed address in disassembly or section header printing by
111a8ed354bSJames Henderson  the specified offset.
1124a68586dSMichael Trent
113a8ed354bSJames Henderson.. option:: --arch-name=<string>
1144a68586dSMichael Trent
1152dcd2c24SYuanfang Chen  Specify the target architecture when disassembling. Use :option:`--version`
116a8ed354bSJames Henderson  for a list of available targets.
1174a68586dSMichael Trent
118a8ed354bSJames Henderson.. option:: -C, --demangle
1194a68586dSMichael Trent
120a8ed354bSJames Henderson  Demangle symbol names in the output.
1214a68586dSMichael Trent
122a8ed354bSJames Henderson.. option:: -j, --section=<section1[,section2,...]>
1234a68586dSMichael Trent
1248447b419SJames Henderson  Perform commands on the specified sections only. For Mach-O use
1258447b419SJames Henderson  `segment,section` to specify the section name.
1264a68586dSMichael Trent
127a8ed354bSJames Henderson.. option:: -l, --line-numbers
1284a68586dSMichael Trent
1298447b419SJames Henderson  When disassembling, display source line numbers. Implies
130a8ed354bSJames Henderson  :option:`--disassemble`.
1314a68586dSMichael Trent
132a8ed354bSJames Henderson.. option:: -M, --disassembler-options=<opt1[,opt2,...]>
1334a68586dSMichael Trent
134a8ed354bSJames Henderson  Pass target-specific disassembler options. Currently supported for ARM targets
135a8ed354bSJames Henderson  only. Available options are ``reg-names-std`` and ``reg-names-raw``.
1364a68586dSMichael Trent
137a8ed354bSJames Henderson.. option:: --mcpu=<cpu-name>
1384a68586dSMichael Trent
139a8ed354bSJames Henderson  Target a specific CPU type for disassembly. Specify ``--mcpu=help`` to display
140a8ed354bSJames Henderson  available CPUs.
1414a68586dSMichael Trent
142a8ed354bSJames Henderson.. option:: --mattr=<a1,+a2,-a3,...>
1434a68586dSMichael Trent
144a8ed354bSJames Henderson  Enable/disable target-specific attributes. Specify ``--mcpu=help`` to display
145a8ed354bSJames Henderson  the available attributes.
1464a68586dSMichael Trent
147a8ed354bSJames Henderson.. option:: --no-leading-addr
1484a68586dSMichael Trent
1498447b419SJames Henderson  When disassembling, do not print leading addresses.
1504a68586dSMichael Trent
151a8ed354bSJames Henderson.. option:: --no-show-raw-insn
1524a68586dSMichael Trent
1538447b419SJames Henderson  When disassembling, do not print the raw bytes of each instruction.
154a8ed354bSJames Henderson
155a8ed354bSJames Henderson.. option:: --print-imm-hex
156a8ed354bSJames Henderson
157a8ed354bSJames Henderson  Use hex format when printing immediate values in disassembly output.
158a8ed354bSJames Henderson
159a8ed354bSJames Henderson.. option:: -S, --source
160a8ed354bSJames Henderson
1618447b419SJames Henderson  When disassembling, display source interleaved with the disassembly. Implies
1628447b419SJames Henderson  :option:`--disassemble`.
163a8ed354bSJames Henderson
164a8ed354bSJames Henderson.. option:: --show-lma
165a8ed354bSJames Henderson
166a8ed354bSJames Henderson  Display the LMA column when dumping ELF section headers. Defaults to off
167a8ed354bSJames Henderson  unless any section has different VMA and LMAs.
168a8ed354bSJames Henderson
169a8ed354bSJames Henderson.. option:: --start-address=<address>
170a8ed354bSJames Henderson
171a8ed354bSJames Henderson  When disassembling, only disassemble from the specified address.
172a8ed354bSJames Henderson
173a8ed354bSJames Henderson  When printing relocations, only print the relocations patching offsets from at least ``address``.
174a8ed354bSJames Henderson
175a8ed354bSJames Henderson  When printing symbols, only print symbols with a value of at least ``address``.
176a8ed354bSJames Henderson
177a8ed354bSJames Henderson.. option:: --stop-address=<address>
178a8ed354bSJames Henderson
179a8ed354bSJames Henderson  When disassembling, only disassemble up to, but not including the specified address.
180a8ed354bSJames Henderson
181a8ed354bSJames Henderson  When printing relocations, only print the relocations patching offsets up to ``address``.
182a8ed354bSJames Henderson
183a8ed354bSJames Henderson  When printing symbols, only print symbols with a value up to ``address``.
184a8ed354bSJames Henderson
185a8ed354bSJames Henderson.. option:: --triple=<string>
186a8ed354bSJames Henderson
187a8ed354bSJames Henderson  Target triple to disassemble for, see ``--version`` for available targets.
188a8ed354bSJames Henderson
189a8ed354bSJames Henderson.. option:: -w, --wide
190a8ed354bSJames Henderson
191a8ed354bSJames Henderson  Ignored for compatibility with GNU objdump.
192a8ed354bSJames Henderson
193a8ed354bSJames Henderson.. option:: --x86-asm-syntax=<style>
194a8ed354bSJames Henderson
1952dcd2c24SYuanfang Chen  When used with :option:`--disassemble`, choose style of code to emit from
1964a68586dSMichael Trent  X86 backend. Supported values are:
1974a68586dSMichael Trent
1984a68586dSMichael Trent   .. option:: att
1994a68586dSMichael Trent
2004a68586dSMichael Trent    AT&T-style assembly
2014a68586dSMichael Trent
2024a68586dSMichael Trent   .. option:: intel
2034a68586dSMichael Trent
2044a68586dSMichael Trent    Intel-style assembly
2054a68586dSMichael Trent
2064a68586dSMichael Trent
2074a68586dSMichael Trent  The default disassembly style is **att**.
2084a68586dSMichael Trent
209a8ed354bSJames Henderson.. option:: -z, --disassemble-zeroes
210a8ed354bSJames Henderson
211a8ed354bSJames Henderson  Do not skip blocks of zeroes when disassembling.
212a8ed354bSJames Henderson
213f7212dbeSJames Henderson.. option:: @<FILE>
214f7212dbeSJames Henderson
215f7212dbeSJames Henderson  Read command-line options and commands from response file `<FILE>`.
216f7212dbeSJames Henderson
217a8ed354bSJames HendersonMACH-O ONLY OPTIONS AND COMMANDS
218a8ed354bSJames Henderson--------------------------------
219a8ed354bSJames Henderson
220a8ed354bSJames Henderson.. option:: --arch=<architecture>
221a8ed354bSJames Henderson
222a8ed354bSJames Henderson  Specify the architecture to disassemble. see ``--version`` for available
223a8ed354bSJames Henderson  architectures.
224a8ed354bSJames Henderson
225a8ed354bSJames Henderson.. option:: --archive-member-offsets
226a8ed354bSJames Henderson
227a8ed354bSJames Henderson  Print the offset to each archive member for Mach-O archives (requires
228a8ed354bSJames Henderson  :option:`--archive-headers`).
229a8ed354bSJames Henderson
230a8ed354bSJames Henderson.. option:: --bind
231a8ed354bSJames Henderson
232a8ed354bSJames Henderson  Display binding info
233a8ed354bSJames Henderson
234a8ed354bSJames Henderson.. option:: --cfg
235a8ed354bSJames Henderson
236a8ed354bSJames Henderson  Create a CFG for every symbol in the object file and write it to a graphviz
237a8ed354bSJames Henderson  file.
238a8ed354bSJames Henderson
239a8ed354bSJames Henderson.. option:: --data-in-code
240a8ed354bSJames Henderson
241a8ed354bSJames Henderson  Display the data in code table.
242a8ed354bSJames Henderson
243a8ed354bSJames Henderson.. option:: --dis-symname=<name>
244a8ed354bSJames Henderson
245a8ed354bSJames Henderson  Disassemble just the specified symbol's instructions.
246a8ed354bSJames Henderson
247a8ed354bSJames Henderson.. option:: --dylibs-used
248a8ed354bSJames Henderson
249a8ed354bSJames Henderson  Display the shared libraries used for linked files.
250a8ed354bSJames Henderson
251a8ed354bSJames Henderson.. option:: --dsym=<string>
252a8ed354bSJames Henderson
253a8ed354bSJames Henderson  Use .dSYM file for debug info.
254a8ed354bSJames Henderson
255a8ed354bSJames Henderson.. option:: --dylib-id
256a8ed354bSJames Henderson
257a8ed354bSJames Henderson  Display the shared library's ID for dylib files.
258a8ed354bSJames Henderson
259a8ed354bSJames Henderson.. option:: --exports-trie
260a8ed354bSJames Henderson
261a8ed354bSJames Henderson  Display exported symbols.
262a8ed354bSJames Henderson
263a8ed354bSJames Henderson.. option:: -g
264a8ed354bSJames Henderson
265a8ed354bSJames Henderson  Print line information from debug info if available.
266a8ed354bSJames Henderson
267a8ed354bSJames Henderson.. option:: --full-leading-addr
268a8ed354bSJames Henderson
269a8ed354bSJames Henderson  Print the full leading address when disassembling.
270a8ed354bSJames Henderson
271a8ed354bSJames Henderson.. option:: --indirect-symbols
272a8ed354bSJames Henderson
273a8ed354bSJames Henderson  Display the indirect symbol table.
274a8ed354bSJames Henderson
275a8ed354bSJames Henderson.. option:: --info-plist
276a8ed354bSJames Henderson
277a8ed354bSJames Henderson  Display the info plist section as strings.
278a8ed354bSJames Henderson
279a8ed354bSJames Henderson.. option:: --lazy-bind
280a8ed354bSJames Henderson
281a8ed354bSJames Henderson  Display lazy binding info.
282a8ed354bSJames Henderson
283a8ed354bSJames Henderson.. option:: --link-opt-hints
284a8ed354bSJames Henderson
285a8ed354bSJames Henderson  Display the linker optimization hints.
286a8ed354bSJames Henderson
287a8ed354bSJames Henderson.. option:: -m, --macho
288a8ed354bSJames Henderson
289a8ed354bSJames Henderson  Use Mach-O specific object file parser. Commands and other options may behave
290a8ed354bSJames Henderson  differently when used with ``--macho``.
291a8ed354bSJames Henderson
292a8ed354bSJames Henderson.. option:: --no-leading-headers
293a8ed354bSJames Henderson
294a8ed354bSJames Henderson  Do not print any leading headers.
295a8ed354bSJames Henderson
296a8ed354bSJames Henderson.. option:: --no-symbolic-operands
297a8ed354bSJames Henderson
298a8ed354bSJames Henderson  Do not print symbolic operands when disassembling.
299a8ed354bSJames Henderson
300a8ed354bSJames Henderson.. option:: --non-verbose
301a8ed354bSJames Henderson
302a8ed354bSJames Henderson  Display the information for Mach-O objects in non-verbose or numeric form.
303a8ed354bSJames Henderson
304a8ed354bSJames Henderson.. option:: --objc-meta-data
305a8ed354bSJames Henderson
306a8ed354bSJames Henderson  Display the Objective-C runtime meta data.
307a8ed354bSJames Henderson
308a8ed354bSJames Henderson.. option:: --private-header
309a8ed354bSJames Henderson
310a8ed354bSJames Henderson  Display only the first format specific file header.
311a8ed354bSJames Henderson
312a8ed354bSJames Henderson.. option:: --rebase
313a8ed354bSJames Henderson
314a8ed354bSJames Henderson  Display rebasing information.
315a8ed354bSJames Henderson
316a8ed354bSJames Henderson.. option:: --universal-headers
317a8ed354bSJames Henderson
318a8ed354bSJames Henderson  Display universal headers.
319a8ed354bSJames Henderson
320a8ed354bSJames Henderson.. option:: --weak-bind
321a8ed354bSJames Henderson
322a8ed354bSJames Henderson  Display weak binding information.
323a8ed354bSJames Henderson
3244a68586dSMichael TrentBUGS
3254a68586dSMichael Trent----
3264a68586dSMichael Trent
3274a68586dSMichael TrentTo report bugs, please visit <http://llvm.org/bugs/>.
3284a68586dSMichael Trent
3294a68586dSMichael TrentSEE ALSO
3304a68586dSMichael Trent--------
3314a68586dSMichael Trent
33292b32a90SJames Henderson:manpage:`llvm-nm(1)`, :manpage:`llvm-readelf(1)`, :manpage:`llvm-readobj(1)`
333