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
307e660211SMichael Trent  Display assembler mnemonics for the machine instructions. Disassembles all
31a8ed354bSJames Henderson  text sections found in the input file(s) by default.
327e660211SMichael Trent
33a8ed354bSJames Henderson.. option:: -D, --disassemble-all
347e660211SMichael Trent
357e660211SMichael Trent  Display assembler mnemonics for the machine instructions. Disassembles all
36a8ed354bSJames Henderson  sections found in the input file(s) by default.
374a68586dSMichael Trent
38a8ed354bSJames Henderson.. option:: --disassemble-functions=<func1[,func2,...]>
394a68586dSMichael Trent
40a8ed354bSJames Henderson  Disassemble only the specified symbols. 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
944a68586dSMichael Trent  Display the version of this program. Does not stack with other commands.
954a68586dSMichael Trent
96a8ed354bSJames Henderson.. option:: -x, --all-headers
97a8ed354bSJames Henderson
98a8ed354bSJames Henderson  Display all available header information. Equivalent to specifying
99a8ed354bSJames Henderson  :option:`--archive-headers`, :option:`--file-headers`,
100a8ed354bSJames Henderson  :option:`--private-headers`, :option:`--reloc`, :option:`--section-headers`,
101a8ed354bSJames Henderson  and :option:`--syms`.
102a8ed354bSJames Henderson
1034a68586dSMichael TrentOPTIONS
1044a68586dSMichael Trent-------
1054a68586dSMichael Trent:program:`llvm-objdump` supports the following options:
1064a68586dSMichael Trent
107a8ed354bSJames Henderson.. option:: --adjust-vma=<offset>
1084a68586dSMichael Trent
109a8ed354bSJames Henderson  Increase the displayed address in disassembly or section header printing by
110a8ed354bSJames Henderson  the specified offset.
1114a68586dSMichael Trent
112a8ed354bSJames Henderson.. option:: --arch-name=<string>
1134a68586dSMichael Trent
114a8ed354bSJames Henderson  Specify the target architecture when disassembling. Use :option:``--version``
115a8ed354bSJames Henderson  for a list of available targets.
1164a68586dSMichael Trent
117a8ed354bSJames Henderson.. option:: -C, --demangle
1184a68586dSMichael Trent
119a8ed354bSJames Henderson  Demangle symbol names in the output.
1204a68586dSMichael Trent
121a8ed354bSJames Henderson.. option:: -j, --section=<section1[,section2,...]>
1224a68586dSMichael Trent
123a8ed354bSJames Henderson  Perform the specified command(s) on the specified section(s) only. For Mach-O
124a8ed354bSJames Henderson  use `segment,section` to specify the section name.
1254a68586dSMichael Trent
126a8ed354bSJames Henderson.. option:: -l, --line-numbers
1274a68586dSMichael Trent
128a8ed354bSJames Henderson  When disassembling, display source line numbers with disassembly. Implies
129a8ed354bSJames Henderson  :option:`--disassemble`.
1304a68586dSMichael Trent
131a8ed354bSJames Henderson.. option:: -M, --disassembler-options=<opt1[,opt2,...]>
1324a68586dSMichael Trent
133a8ed354bSJames Henderson  Pass target-specific disassembler options. Currently supported for ARM targets
134a8ed354bSJames Henderson  only. Available options are ``reg-names-std`` and ``reg-names-raw``.
1354a68586dSMichael Trent
136a8ed354bSJames Henderson.. option:: --mcpu=<cpu-name>
1374a68586dSMichael Trent
138a8ed354bSJames Henderson  Target a specific CPU type for disassembly. Specify ``--mcpu=help`` to display
139a8ed354bSJames Henderson  available CPUs.
1404a68586dSMichael Trent
141a8ed354bSJames Henderson.. option:: --mattr=<a1,+a2,-a3,...>
1424a68586dSMichael Trent
143a8ed354bSJames Henderson  Enable/disable target-specific attributes. Specify ``--mcpu=help`` to display
144a8ed354bSJames Henderson  the available attributes.
1454a68586dSMichael Trent
146a8ed354bSJames Henderson.. option:: --no-leading-addr
1474a68586dSMichael Trent
148a8ed354bSJames Henderson  When disassembling, do not print the leading address in the disassembly
149a8ed354bSJames Henderson  output.
1504a68586dSMichael Trent
151a8ed354bSJames Henderson.. option:: --no-show-raw-insn
1524a68586dSMichael Trent
153a8ed354bSJames Henderson  When disassembling instructions, do not print the raw bytes of the
154a8ed354bSJames Henderson  instruction.
155a8ed354bSJames Henderson
156a8ed354bSJames Henderson.. option:: --print-imm-hex
157a8ed354bSJames Henderson
158a8ed354bSJames Henderson  Use hex format when printing immediate values in disassembly output.
159a8ed354bSJames Henderson
160a8ed354bSJames Henderson.. option:: -S, --source
161a8ed354bSJames Henderson
162a8ed354bSJames Henderson  When disassembling, display source inlined with the disassembly.
163a8ed354bSJames Henderson  Implies :option:`--disassemble`.
164a8ed354bSJames Henderson
165a8ed354bSJames Henderson.. option:: --show-lma
166a8ed354bSJames Henderson
167a8ed354bSJames Henderson  Display the LMA column when dumping ELF section headers. Defaults to off
168a8ed354bSJames Henderson  unless any section has different VMA and LMAs.
169a8ed354bSJames Henderson
170a8ed354bSJames Henderson.. option:: --start-address=<address>
171a8ed354bSJames Henderson
172a8ed354bSJames Henderson  When disassembling, only disassemble from the specified address.
173a8ed354bSJames Henderson
174a8ed354bSJames Henderson  When printing relocations, only print the relocations patching offsets from at least ``address``.
175a8ed354bSJames Henderson
176a8ed354bSJames Henderson  When printing symbols, only print symbols with a value of at least ``address``.
177a8ed354bSJames Henderson
178a8ed354bSJames Henderson.. option:: --stop-address=<address>
179a8ed354bSJames Henderson
180a8ed354bSJames Henderson  When disassembling, only disassemble up to, but not including the specified address.
181a8ed354bSJames Henderson
182a8ed354bSJames Henderson  When printing relocations, only print the relocations patching offsets up to ``address``.
183a8ed354bSJames Henderson
184a8ed354bSJames Henderson  When printing symbols, only print symbols with a value up to ``address``.
185a8ed354bSJames Henderson
186a8ed354bSJames Henderson.. option:: --triple=<string>
187a8ed354bSJames Henderson
188a8ed354bSJames Henderson  Target triple to disassemble for, see ``--version`` for available targets.
189a8ed354bSJames Henderson
190a8ed354bSJames Henderson.. option:: -w, --wide
191a8ed354bSJames Henderson
192a8ed354bSJames Henderson  Ignored for compatibility with GNU objdump.
193a8ed354bSJames Henderson
194a8ed354bSJames Henderson.. option:: --x86-asm-syntax=<style>
195a8ed354bSJames Henderson
196a8ed354bSJames Henderson  When used with the ``--disassemble`` option, choose style of code to emit from
1974a68586dSMichael Trent  X86 backend. Supported values are:
1984a68586dSMichael Trent
1994a68586dSMichael Trent   .. option:: att
2004a68586dSMichael Trent
2014a68586dSMichael Trent    AT&T-style assembly
2024a68586dSMichael Trent
2034a68586dSMichael Trent   .. option:: intel
2044a68586dSMichael Trent
2054a68586dSMichael Trent    Intel-style assembly
2064a68586dSMichael Trent
2074a68586dSMichael Trent
2084a68586dSMichael Trent  The default disassembly style is **att**.
2094a68586dSMichael Trent
210a8ed354bSJames Henderson.. option:: -z, --disassemble-zeroes
211a8ed354bSJames Henderson
212a8ed354bSJames Henderson  Do not skip blocks of zeroes when disassembling.
213a8ed354bSJames Henderson
214f7212dbeSJames Henderson.. option:: @<FILE>
215f7212dbeSJames Henderson
216f7212dbeSJames Henderson  Read command-line options and commands from response file `<FILE>`.
217f7212dbeSJames Henderson
218a8ed354bSJames HendersonMACH-O ONLY OPTIONS AND COMMANDS
219a8ed354bSJames Henderson--------------------------------
220a8ed354bSJames Henderson
221a8ed354bSJames Henderson.. option:: --arch=<architecture>
222a8ed354bSJames Henderson
223a8ed354bSJames Henderson  Specify the architecture to disassemble. see ``--version`` for available
224a8ed354bSJames Henderson  architectures.
225a8ed354bSJames Henderson
226a8ed354bSJames Henderson.. option:: --archive-member-offsets
227a8ed354bSJames Henderson
228a8ed354bSJames Henderson  Print the offset to each archive member for Mach-O archives (requires
229a8ed354bSJames Henderson  :option:`--archive-headers`).
230a8ed354bSJames Henderson
231a8ed354bSJames Henderson.. option:: --bind
232a8ed354bSJames Henderson
233a8ed354bSJames Henderson  Display binding info
234a8ed354bSJames Henderson
235a8ed354bSJames Henderson.. option:: --cfg
236a8ed354bSJames Henderson
237a8ed354bSJames Henderson  Create a CFG for every symbol in the object file and write it to a graphviz
238a8ed354bSJames Henderson  file.
239a8ed354bSJames Henderson
240a8ed354bSJames Henderson.. option:: --data-in-code
241a8ed354bSJames Henderson
242a8ed354bSJames Henderson  Display the data in code table.
243a8ed354bSJames Henderson
244a8ed354bSJames Henderson.. option:: --dis-symname=<name>
245a8ed354bSJames Henderson
246a8ed354bSJames Henderson  Disassemble just the specified symbol's instructions.
247a8ed354bSJames Henderson
248a8ed354bSJames Henderson.. option:: --dylibs-used
249a8ed354bSJames Henderson
250a8ed354bSJames Henderson  Display the shared libraries used for linked files.
251a8ed354bSJames Henderson
252a8ed354bSJames Henderson.. option:: --dsym=<string>
253a8ed354bSJames Henderson
254a8ed354bSJames Henderson  Use .dSYM file for debug info.
255a8ed354bSJames Henderson
256a8ed354bSJames Henderson.. option:: --dylib-id
257a8ed354bSJames Henderson
258a8ed354bSJames Henderson  Display the shared library's ID for dylib files.
259a8ed354bSJames Henderson
260a8ed354bSJames Henderson.. option:: --exports-trie
261a8ed354bSJames Henderson
262a8ed354bSJames Henderson  Display exported symbols.
263a8ed354bSJames Henderson
264a8ed354bSJames Henderson.. option:: -g
265a8ed354bSJames Henderson
266a8ed354bSJames Henderson  Print line information from debug info if available.
267a8ed354bSJames Henderson
268a8ed354bSJames Henderson.. option:: --full-leading-addr
269a8ed354bSJames Henderson
270a8ed354bSJames Henderson  Print the full leading address when disassembling.
271a8ed354bSJames Henderson
272a8ed354bSJames Henderson.. option:: --indirect-symbols
273a8ed354bSJames Henderson
274a8ed354bSJames Henderson  Display the indirect symbol table.
275a8ed354bSJames Henderson
276a8ed354bSJames Henderson.. option:: --info-plist
277a8ed354bSJames Henderson
278a8ed354bSJames Henderson  Display the info plist section as strings.
279a8ed354bSJames Henderson
280a8ed354bSJames Henderson.. option:: --lazy-bind
281a8ed354bSJames Henderson
282a8ed354bSJames Henderson  Display lazy binding info.
283a8ed354bSJames Henderson
284a8ed354bSJames Henderson.. option:: --link-opt-hints
285a8ed354bSJames Henderson
286a8ed354bSJames Henderson  Display the linker optimization hints.
287a8ed354bSJames Henderson
288a8ed354bSJames Henderson.. option:: -m, --macho
289a8ed354bSJames Henderson
290a8ed354bSJames Henderson  Use Mach-O specific object file parser. Commands and other options may behave
291a8ed354bSJames Henderson  differently when used with ``--macho``.
292a8ed354bSJames Henderson
293a8ed354bSJames Henderson.. option:: --no-leading-headers
294a8ed354bSJames Henderson
295a8ed354bSJames Henderson  Do not print any leading headers.
296a8ed354bSJames Henderson
297a8ed354bSJames Henderson.. option:: --no-symbolic-operands
298a8ed354bSJames Henderson
299a8ed354bSJames Henderson  Do not print symbolic operands when disassembling.
300a8ed354bSJames Henderson
301a8ed354bSJames Henderson.. option:: --non-verbose
302a8ed354bSJames Henderson
303a8ed354bSJames Henderson  Display the information for Mach-O objects in non-verbose or numeric form.
304a8ed354bSJames Henderson
305a8ed354bSJames Henderson.. option:: --objc-meta-data
306a8ed354bSJames Henderson
307a8ed354bSJames Henderson  Display the Objective-C runtime meta data.
308a8ed354bSJames Henderson
309a8ed354bSJames Henderson.. option:: --private-header
310a8ed354bSJames Henderson
311a8ed354bSJames Henderson  Display only the first format specific file header.
312a8ed354bSJames Henderson
313a8ed354bSJames Henderson.. option:: --rebase
314a8ed354bSJames Henderson
315a8ed354bSJames Henderson  Display rebasing information.
316a8ed354bSJames Henderson
317a8ed354bSJames Henderson.. option:: --universal-headers
318a8ed354bSJames Henderson
319a8ed354bSJames Henderson  Display universal headers.
320a8ed354bSJames Henderson
321a8ed354bSJames Henderson.. option:: --weak-bind
322a8ed354bSJames Henderson
323a8ed354bSJames Henderson  Display weak binding information.
324a8ed354bSJames Henderson
3254a68586dSMichael TrentBUGS
3264a68586dSMichael Trent----
3274a68586dSMichael Trent
3284a68586dSMichael TrentTo report bugs, please visit <http://llvm.org/bugs/>.
3294a68586dSMichael Trent
3304a68586dSMichael TrentSEE ALSO
3314a68586dSMichael Trent--------
3324a68586dSMichael Trent
333*92b32a90SJames Henderson:manpage:`llvm-nm(1)`, :manpage:`llvm-readelf(1)`, :manpage:`llvm-readobj(1)`
334