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
38*2dcd2c24SYuanfang Chen.. option:: --disassemble-functions=<symbol1[,symbol2,...]>
394a68586dSMichael Trent
40*2dcd2c24SYuanfang Chen  Disassemble only the specified symbols. Takes demangled symbol names when
41*2dcd2c24SYuanfang Chen  :option:`--demangle` is specified, otherwise takes mangled symbol names.
42*2dcd2c24SYuanfang Chen  Implies :option:`--disassemble`.
434a68586dSMichael Trent
44a8ed354bSJames Henderson.. option:: --dwarf=<value>
454a68586dSMichael Trent
46a8ed354bSJames Henderson  Dump the specified DWARF debug sections. The supported values are:
474a68586dSMichael Trent
48a8ed354bSJames Henderson  `frames` - .debug_frame
494a68586dSMichael Trent
50a8ed354bSJames Henderson.. option:: -f, --file-headers
514a68586dSMichael Trent
52a8ed354bSJames Henderson  Display the contents of the overall file header.
53a8ed354bSJames Henderson
54a8ed354bSJames Henderson.. option:: --fault-map-section
55a8ed354bSJames Henderson
56a8ed354bSJames Henderson  Display the content of the fault map section.
57a8ed354bSJames Henderson
58a8ed354bSJames Henderson.. option:: -h, --headers, --section-headers
594a68586dSMichael Trent
604a68586dSMichael Trent  Display summaries of the headers for each section.
614a68586dSMichael Trent
62a8ed354bSJames Henderson.. option:: --help
63a8ed354bSJames Henderson
64a8ed354bSJames Henderson  Display usage information and exit. Does not stack with other commands.
65a8ed354bSJames Henderson
66a8ed354bSJames Henderson.. option:: -p, --private-headers
67a8ed354bSJames Henderson
68a8ed354bSJames Henderson  Display format-specific file headers.
69a8ed354bSJames Henderson
70a8ed354bSJames Henderson.. option:: -r, --reloc
71a8ed354bSJames Henderson
72a8ed354bSJames Henderson  Display the relocation entries in the file.
73a8ed354bSJames Henderson
74a8ed354bSJames Henderson.. option:: -R, --dynamic-reloc
75a8ed354bSJames Henderson
76a8ed354bSJames Henderson  Display the dynamic relocation entries in the file.
77a8ed354bSJames Henderson
78a8ed354bSJames Henderson.. option:: --raw-clang-ast
79a8ed354bSJames Henderson
80a8ed354bSJames Henderson  Dump the raw binary contents of the clang AST section.
81a8ed354bSJames Henderson
82a8ed354bSJames Henderson.. option:: -s, --full-contents
83a8ed354bSJames Henderson
84a8ed354bSJames Henderson  Display the contents of each section.
85a8ed354bSJames Henderson
86a8ed354bSJames Henderson.. option:: -t, --syms
874a68586dSMichael Trent
884a68586dSMichael Trent  Display the symbol table.
894a68586dSMichael Trent
90a8ed354bSJames Henderson.. option:: -u, --unwind-info
91a8ed354bSJames Henderson
92a8ed354bSJames Henderson  Display the unwind info of the input(s).
93a8ed354bSJames Henderson
94a8ed354bSJames Henderson.. option:: --version
954a68586dSMichael Trent
964a68586dSMichael Trent  Display the version of this program. Does not stack with other commands.
974a68586dSMichael Trent
98a8ed354bSJames Henderson.. option:: -x, --all-headers
99a8ed354bSJames Henderson
100a8ed354bSJames Henderson  Display all available header information. Equivalent to specifying
101a8ed354bSJames Henderson  :option:`--archive-headers`, :option:`--file-headers`,
102a8ed354bSJames Henderson  :option:`--private-headers`, :option:`--reloc`, :option:`--section-headers`,
103a8ed354bSJames Henderson  and :option:`--syms`.
104a8ed354bSJames Henderson
1054a68586dSMichael TrentOPTIONS
1064a68586dSMichael Trent-------
1074a68586dSMichael Trent:program:`llvm-objdump` supports the following options:
1084a68586dSMichael Trent
109a8ed354bSJames Henderson.. option:: --adjust-vma=<offset>
1104a68586dSMichael Trent
111a8ed354bSJames Henderson  Increase the displayed address in disassembly or section header printing by
112a8ed354bSJames Henderson  the specified offset.
1134a68586dSMichael Trent
114a8ed354bSJames Henderson.. option:: --arch-name=<string>
1154a68586dSMichael Trent
116*2dcd2c24SYuanfang Chen  Specify the target architecture when disassembling. Use :option:`--version`
117a8ed354bSJames Henderson  for a list of available targets.
1184a68586dSMichael Trent
119a8ed354bSJames Henderson.. option:: -C, --demangle
1204a68586dSMichael Trent
121a8ed354bSJames Henderson  Demangle symbol names in the output.
1224a68586dSMichael Trent
123a8ed354bSJames Henderson.. option:: -j, --section=<section1[,section2,...]>
1244a68586dSMichael Trent
125a8ed354bSJames Henderson  Perform the specified command(s) on the specified section(s) only. For Mach-O
126a8ed354bSJames Henderson  use `segment,section` to specify the section name.
1274a68586dSMichael Trent
128a8ed354bSJames Henderson.. option:: -l, --line-numbers
1294a68586dSMichael Trent
130a8ed354bSJames Henderson  When disassembling, display source line numbers with disassembly. Implies
131a8ed354bSJames Henderson  :option:`--disassemble`.
1324a68586dSMichael Trent
133a8ed354bSJames Henderson.. option:: -M, --disassembler-options=<opt1[,opt2,...]>
1344a68586dSMichael Trent
135a8ed354bSJames Henderson  Pass target-specific disassembler options. Currently supported for ARM targets
136a8ed354bSJames Henderson  only. Available options are ``reg-names-std`` and ``reg-names-raw``.
1374a68586dSMichael Trent
138a8ed354bSJames Henderson.. option:: --mcpu=<cpu-name>
1394a68586dSMichael Trent
140a8ed354bSJames Henderson  Target a specific CPU type for disassembly. Specify ``--mcpu=help`` to display
141a8ed354bSJames Henderson  available CPUs.
1424a68586dSMichael Trent
143a8ed354bSJames Henderson.. option:: --mattr=<a1,+a2,-a3,...>
1444a68586dSMichael Trent
145a8ed354bSJames Henderson  Enable/disable target-specific attributes. Specify ``--mcpu=help`` to display
146a8ed354bSJames Henderson  the available attributes.
1474a68586dSMichael Trent
148a8ed354bSJames Henderson.. option:: --no-leading-addr
1494a68586dSMichael Trent
150a8ed354bSJames Henderson  When disassembling, do not print the leading address in the disassembly
151a8ed354bSJames Henderson  output.
1524a68586dSMichael Trent
153a8ed354bSJames Henderson.. option:: --no-show-raw-insn
1544a68586dSMichael Trent
155a8ed354bSJames Henderson  When disassembling instructions, do not print the raw bytes of the
156a8ed354bSJames Henderson  instruction.
157a8ed354bSJames Henderson
158a8ed354bSJames Henderson.. option:: --print-imm-hex
159a8ed354bSJames Henderson
160a8ed354bSJames Henderson  Use hex format when printing immediate values in disassembly output.
161a8ed354bSJames Henderson
162a8ed354bSJames Henderson.. option:: -S, --source
163a8ed354bSJames Henderson
164a8ed354bSJames Henderson  When disassembling, display source inlined with the disassembly.
165a8ed354bSJames Henderson  Implies :option:`--disassemble`.
166a8ed354bSJames Henderson
167a8ed354bSJames Henderson.. option:: --show-lma
168a8ed354bSJames Henderson
169a8ed354bSJames Henderson  Display the LMA column when dumping ELF section headers. Defaults to off
170a8ed354bSJames Henderson  unless any section has different VMA and LMAs.
171a8ed354bSJames Henderson
172a8ed354bSJames Henderson.. option:: --start-address=<address>
173a8ed354bSJames Henderson
174a8ed354bSJames Henderson  When disassembling, only disassemble from the specified address.
175a8ed354bSJames Henderson
176a8ed354bSJames Henderson  When printing relocations, only print the relocations patching offsets from at least ``address``.
177a8ed354bSJames Henderson
178a8ed354bSJames Henderson  When printing symbols, only print symbols with a value of at least ``address``.
179a8ed354bSJames Henderson
180a8ed354bSJames Henderson.. option:: --stop-address=<address>
181a8ed354bSJames Henderson
182a8ed354bSJames Henderson  When disassembling, only disassemble up to, but not including the specified address.
183a8ed354bSJames Henderson
184a8ed354bSJames Henderson  When printing relocations, only print the relocations patching offsets up to ``address``.
185a8ed354bSJames Henderson
186a8ed354bSJames Henderson  When printing symbols, only print symbols with a value up to ``address``.
187a8ed354bSJames Henderson
188a8ed354bSJames Henderson.. option:: --triple=<string>
189a8ed354bSJames Henderson
190a8ed354bSJames Henderson  Target triple to disassemble for, see ``--version`` for available targets.
191a8ed354bSJames Henderson
192a8ed354bSJames Henderson.. option:: -w, --wide
193a8ed354bSJames Henderson
194a8ed354bSJames Henderson  Ignored for compatibility with GNU objdump.
195a8ed354bSJames Henderson
196a8ed354bSJames Henderson.. option:: --x86-asm-syntax=<style>
197a8ed354bSJames Henderson
198*2dcd2c24SYuanfang Chen  When used with :option:`--disassemble`, choose style of code to emit from
1994a68586dSMichael Trent  X86 backend. Supported values are:
2004a68586dSMichael Trent
2014a68586dSMichael Trent   .. option:: att
2024a68586dSMichael Trent
2034a68586dSMichael Trent    AT&T-style assembly
2044a68586dSMichael Trent
2054a68586dSMichael Trent   .. option:: intel
2064a68586dSMichael Trent
2074a68586dSMichael Trent    Intel-style assembly
2084a68586dSMichael Trent
2094a68586dSMichael Trent
2104a68586dSMichael Trent  The default disassembly style is **att**.
2114a68586dSMichael Trent
212a8ed354bSJames Henderson.. option:: -z, --disassemble-zeroes
213a8ed354bSJames Henderson
214a8ed354bSJames Henderson  Do not skip blocks of zeroes when disassembling.
215a8ed354bSJames Henderson
216f7212dbeSJames Henderson.. option:: @<FILE>
217f7212dbeSJames Henderson
218f7212dbeSJames Henderson  Read command-line options and commands from response file `<FILE>`.
219f7212dbeSJames Henderson
220a8ed354bSJames HendersonMACH-O ONLY OPTIONS AND COMMANDS
221a8ed354bSJames Henderson--------------------------------
222a8ed354bSJames Henderson
223a8ed354bSJames Henderson.. option:: --arch=<architecture>
224a8ed354bSJames Henderson
225a8ed354bSJames Henderson  Specify the architecture to disassemble. see ``--version`` for available
226a8ed354bSJames Henderson  architectures.
227a8ed354bSJames Henderson
228a8ed354bSJames Henderson.. option:: --archive-member-offsets
229a8ed354bSJames Henderson
230a8ed354bSJames Henderson  Print the offset to each archive member for Mach-O archives (requires
231a8ed354bSJames Henderson  :option:`--archive-headers`).
232a8ed354bSJames Henderson
233a8ed354bSJames Henderson.. option:: --bind
234a8ed354bSJames Henderson
235a8ed354bSJames Henderson  Display binding info
236a8ed354bSJames Henderson
237a8ed354bSJames Henderson.. option:: --cfg
238a8ed354bSJames Henderson
239a8ed354bSJames Henderson  Create a CFG for every symbol in the object file and write it to a graphviz
240a8ed354bSJames Henderson  file.
241a8ed354bSJames Henderson
242a8ed354bSJames Henderson.. option:: --data-in-code
243a8ed354bSJames Henderson
244a8ed354bSJames Henderson  Display the data in code table.
245a8ed354bSJames Henderson
246a8ed354bSJames Henderson.. option:: --dis-symname=<name>
247a8ed354bSJames Henderson
248a8ed354bSJames Henderson  Disassemble just the specified symbol's instructions.
249a8ed354bSJames Henderson
250a8ed354bSJames Henderson.. option:: --dylibs-used
251a8ed354bSJames Henderson
252a8ed354bSJames Henderson  Display the shared libraries used for linked files.
253a8ed354bSJames Henderson
254a8ed354bSJames Henderson.. option:: --dsym=<string>
255a8ed354bSJames Henderson
256a8ed354bSJames Henderson  Use .dSYM file for debug info.
257a8ed354bSJames Henderson
258a8ed354bSJames Henderson.. option:: --dylib-id
259a8ed354bSJames Henderson
260a8ed354bSJames Henderson  Display the shared library's ID for dylib files.
261a8ed354bSJames Henderson
262a8ed354bSJames Henderson.. option:: --exports-trie
263a8ed354bSJames Henderson
264a8ed354bSJames Henderson  Display exported symbols.
265a8ed354bSJames Henderson
266a8ed354bSJames Henderson.. option:: -g
267a8ed354bSJames Henderson
268a8ed354bSJames Henderson  Print line information from debug info if available.
269a8ed354bSJames Henderson
270a8ed354bSJames Henderson.. option:: --full-leading-addr
271a8ed354bSJames Henderson
272a8ed354bSJames Henderson  Print the full leading address when disassembling.
273a8ed354bSJames Henderson
274a8ed354bSJames Henderson.. option:: --indirect-symbols
275a8ed354bSJames Henderson
276a8ed354bSJames Henderson  Display the indirect symbol table.
277a8ed354bSJames Henderson
278a8ed354bSJames Henderson.. option:: --info-plist
279a8ed354bSJames Henderson
280a8ed354bSJames Henderson  Display the info plist section as strings.
281a8ed354bSJames Henderson
282a8ed354bSJames Henderson.. option:: --lazy-bind
283a8ed354bSJames Henderson
284a8ed354bSJames Henderson  Display lazy binding info.
285a8ed354bSJames Henderson
286a8ed354bSJames Henderson.. option:: --link-opt-hints
287a8ed354bSJames Henderson
288a8ed354bSJames Henderson  Display the linker optimization hints.
289a8ed354bSJames Henderson
290a8ed354bSJames Henderson.. option:: -m, --macho
291a8ed354bSJames Henderson
292a8ed354bSJames Henderson  Use Mach-O specific object file parser. Commands and other options may behave
293a8ed354bSJames Henderson  differently when used with ``--macho``.
294a8ed354bSJames Henderson
295a8ed354bSJames Henderson.. option:: --no-leading-headers
296a8ed354bSJames Henderson
297a8ed354bSJames Henderson  Do not print any leading headers.
298a8ed354bSJames Henderson
299a8ed354bSJames Henderson.. option:: --no-symbolic-operands
300a8ed354bSJames Henderson
301a8ed354bSJames Henderson  Do not print symbolic operands when disassembling.
302a8ed354bSJames Henderson
303a8ed354bSJames Henderson.. option:: --non-verbose
304a8ed354bSJames Henderson
305a8ed354bSJames Henderson  Display the information for Mach-O objects in non-verbose or numeric form.
306a8ed354bSJames Henderson
307a8ed354bSJames Henderson.. option:: --objc-meta-data
308a8ed354bSJames Henderson
309a8ed354bSJames Henderson  Display the Objective-C runtime meta data.
310a8ed354bSJames Henderson
311a8ed354bSJames Henderson.. option:: --private-header
312a8ed354bSJames Henderson
313a8ed354bSJames Henderson  Display only the first format specific file header.
314a8ed354bSJames Henderson
315a8ed354bSJames Henderson.. option:: --rebase
316a8ed354bSJames Henderson
317a8ed354bSJames Henderson  Display rebasing information.
318a8ed354bSJames Henderson
319a8ed354bSJames Henderson.. option:: --universal-headers
320a8ed354bSJames Henderson
321a8ed354bSJames Henderson  Display universal headers.
322a8ed354bSJames Henderson
323a8ed354bSJames Henderson.. option:: --weak-bind
324a8ed354bSJames Henderson
325a8ed354bSJames Henderson  Display weak binding information.
326a8ed354bSJames Henderson
3274a68586dSMichael TrentBUGS
3284a68586dSMichael Trent----
3294a68586dSMichael Trent
3304a68586dSMichael TrentTo report bugs, please visit <http://llvm.org/bugs/>.
3314a68586dSMichael Trent
3324a68586dSMichael TrentSEE ALSO
3334a68586dSMichael Trent--------
3344a68586dSMichael Trent
33592b32a90SJames Henderson:manpage:`llvm-nm(1)`, :manpage:`llvm-readelf(1)`, :manpage:`llvm-readobj(1)`
336