14a68586dSMichael Trentllvm-objdump - LLVM's object file dumper
24a68586dSMichael Trent========================================
34a68586dSMichael Trent
44a68586dSMichael TrentSYNOPSIS
54a68586dSMichael Trent--------
64a68586dSMichael Trent
74a68586dSMichael Trent:program:`llvm-objdump` [*commands*] [*options*] [*filenames...*]
84a68586dSMichael Trent
94a68586dSMichael TrentDESCRIPTION
104a68586dSMichael Trent-----------
114a68586dSMichael TrentThe :program:`llvm-objdump` utility prints the contents of object files and
124a68586dSMichael Trentfinal linked images named on the command line. If no file name is specified,
134a68586dSMichael Trent:program:`llvm-objdump` will attempt to read from *a.out*. If *-* is used as a
144a68586dSMichael Trentfile name, :program:`llvm-objdump` will process a file on its standard input
154a68586dSMichael Trentstream.
164a68586dSMichael Trent
174a68586dSMichael TrentCOMMANDS
184a68586dSMichael Trent--------
197e660211SMichael TrentAt least one of the following commands are required, and some commands can be
207e660211SMichael Trentcombined with other commands:
214a68586dSMichael Trent
22*a8ed354bSJames Henderson.. option:: -a, --archive-headers
23*a8ed354bSJames Henderson
24*a8ed354bSJames Henderson  Display the information contained within an archive's headers.
25*a8ed354bSJames Henderson
26*a8ed354bSJames Henderson.. option:: -d, --disassemble
274a68586dSMichael Trent
287e660211SMichael Trent  Display assembler mnemonics for the machine instructions. Disassembles all
29*a8ed354bSJames Henderson  text sections found in the input file(s) by default.
307e660211SMichael Trent
31*a8ed354bSJames Henderson.. option:: -D, --disassemble-all
327e660211SMichael Trent
337e660211SMichael Trent  Display assembler mnemonics for the machine instructions. Disassembles all
34*a8ed354bSJames Henderson  sections found in the input file(s) by default.
354a68586dSMichael Trent
36*a8ed354bSJames Henderson.. option:: --disassemble-functions=<func1[,func2,...]>
374a68586dSMichael Trent
38*a8ed354bSJames Henderson  Disassemble only the specified symbols. Implies :option:`--disassemble`.
394a68586dSMichael Trent
40*a8ed354bSJames Henderson.. option:: --dwarf=<value>
414a68586dSMichael Trent
42*a8ed354bSJames Henderson  Dump the specified DWARF debug sections. The supported values are:
434a68586dSMichael Trent
44*a8ed354bSJames Henderson  `frames` - .debug_frame
454a68586dSMichael Trent
46*a8ed354bSJames Henderson.. option:: -f, --file-headers
474a68586dSMichael Trent
48*a8ed354bSJames Henderson  Display the contents of the overall file header.
49*a8ed354bSJames Henderson
50*a8ed354bSJames Henderson.. option:: --fault-map-section
51*a8ed354bSJames Henderson
52*a8ed354bSJames Henderson  Display the content of the fault map section.
53*a8ed354bSJames Henderson
54*a8ed354bSJames Henderson.. option:: -h, --headers, --section-headers
554a68586dSMichael Trent
564a68586dSMichael Trent  Display summaries of the headers for each section.
574a68586dSMichael Trent
58*a8ed354bSJames Henderson.. option:: --help
59*a8ed354bSJames Henderson
60*a8ed354bSJames Henderson  Display usage information and exit. Does not stack with other commands.
61*a8ed354bSJames Henderson
62*a8ed354bSJames Henderson.. option:: -p, --private-headers
63*a8ed354bSJames Henderson
64*a8ed354bSJames Henderson  Display format-specific file headers.
65*a8ed354bSJames Henderson
66*a8ed354bSJames Henderson.. option:: -r, --reloc
67*a8ed354bSJames Henderson
68*a8ed354bSJames Henderson  Display the relocation entries in the file.
69*a8ed354bSJames Henderson
70*a8ed354bSJames Henderson.. option:: -R, --dynamic-reloc
71*a8ed354bSJames Henderson
72*a8ed354bSJames Henderson  Display the dynamic relocation entries in the file.
73*a8ed354bSJames Henderson
74*a8ed354bSJames Henderson.. option:: --raw-clang-ast
75*a8ed354bSJames Henderson
76*a8ed354bSJames Henderson  Dump the raw binary contents of the clang AST section.
77*a8ed354bSJames Henderson
78*a8ed354bSJames Henderson.. option:: -s, --full-contents
79*a8ed354bSJames Henderson
80*a8ed354bSJames Henderson  Display the contents of each section.
81*a8ed354bSJames Henderson
82*a8ed354bSJames Henderson.. option:: -t, --syms
834a68586dSMichael Trent
844a68586dSMichael Trent  Display the symbol table.
854a68586dSMichael Trent
86*a8ed354bSJames Henderson.. option:: -u, --unwind-info
87*a8ed354bSJames Henderson
88*a8ed354bSJames Henderson  Display the unwind info of the input(s).
89*a8ed354bSJames Henderson
90*a8ed354bSJames Henderson.. option:: --version
914a68586dSMichael Trent
924a68586dSMichael Trent  Display the version of this program. Does not stack with other commands.
934a68586dSMichael Trent
94*a8ed354bSJames Henderson.. option:: -x, --all-headers
95*a8ed354bSJames Henderson
96*a8ed354bSJames Henderson  Display all available header information. Equivalent to specifying
97*a8ed354bSJames Henderson  :option:`--archive-headers`, :option:`--file-headers`,
98*a8ed354bSJames Henderson  :option:`--private-headers`, :option:`--reloc`, :option:`--section-headers`,
99*a8ed354bSJames Henderson  and :option:`--syms`.
100*a8ed354bSJames Henderson
1014a68586dSMichael TrentOPTIONS
1024a68586dSMichael Trent-------
1034a68586dSMichael Trent:program:`llvm-objdump` supports the following options:
1044a68586dSMichael Trent
105*a8ed354bSJames Henderson.. option:: --adjust-vma=<offset>
1064a68586dSMichael Trent
107*a8ed354bSJames Henderson  Increase the displayed address in disassembly or section header printing by
108*a8ed354bSJames Henderson  the specified offset.
1094a68586dSMichael Trent
110*a8ed354bSJames Henderson.. option:: --arch-name=<string>
1114a68586dSMichael Trent
112*a8ed354bSJames Henderson  Specify the target architecture when disassembling. Use :option:``--version``
113*a8ed354bSJames Henderson  for a list of available targets.
1144a68586dSMichael Trent
115*a8ed354bSJames Henderson.. option:: -C, --demangle
1164a68586dSMichael Trent
117*a8ed354bSJames Henderson  Demangle symbol names in the output.
1184a68586dSMichael Trent
119*a8ed354bSJames Henderson.. option:: -j, --section=<section1[,section2,...]>
1204a68586dSMichael Trent
121*a8ed354bSJames Henderson  Perform the specified command(s) on the specified section(s) only. For Mach-O
122*a8ed354bSJames Henderson  use `segment,section` to specify the section name.
1234a68586dSMichael Trent
124*a8ed354bSJames Henderson.. option:: -l, --line-numbers
1254a68586dSMichael Trent
126*a8ed354bSJames Henderson  When disassembling, display source line numbers with disassembly. Implies
127*a8ed354bSJames Henderson  :option:`--disassemble`.
1284a68586dSMichael Trent
129*a8ed354bSJames Henderson.. option:: -M, --disassembler-options=<opt1[,opt2,...]>
1304a68586dSMichael Trent
131*a8ed354bSJames Henderson  Pass target-specific disassembler options. Currently supported for ARM targets
132*a8ed354bSJames Henderson  only. Available options are ``reg-names-std`` and ``reg-names-raw``.
1334a68586dSMichael Trent
134*a8ed354bSJames Henderson.. option:: --mcpu=<cpu-name>
1354a68586dSMichael Trent
136*a8ed354bSJames Henderson  Target a specific CPU type for disassembly. Specify ``--mcpu=help`` to display
137*a8ed354bSJames Henderson  available CPUs.
1384a68586dSMichael Trent
139*a8ed354bSJames Henderson.. option:: --mattr=<a1,+a2,-a3,...>
1404a68586dSMichael Trent
141*a8ed354bSJames Henderson  Enable/disable target-specific attributes. Specify ``--mcpu=help`` to display
142*a8ed354bSJames Henderson  the available attributes.
1434a68586dSMichael Trent
144*a8ed354bSJames Henderson.. option:: --no-leading-addr
1454a68586dSMichael Trent
146*a8ed354bSJames Henderson  When disassembling, do not print the leading address in the disassembly
147*a8ed354bSJames Henderson  output.
1484a68586dSMichael Trent
149*a8ed354bSJames Henderson.. option:: --no-show-raw-insn
1504a68586dSMichael Trent
151*a8ed354bSJames Henderson  When disassembling instructions, do not print the raw bytes of the
152*a8ed354bSJames Henderson  instruction.
153*a8ed354bSJames Henderson
154*a8ed354bSJames Henderson.. option:: --print-imm-hex
155*a8ed354bSJames Henderson
156*a8ed354bSJames Henderson  Use hex format when printing immediate values in disassembly output.
157*a8ed354bSJames Henderson
158*a8ed354bSJames Henderson.. option:: -S, --source
159*a8ed354bSJames Henderson
160*a8ed354bSJames Henderson  When disassembling, display source inlined with the disassembly.
161*a8ed354bSJames Henderson  Implies :option:`--disassemble`.
162*a8ed354bSJames Henderson
163*a8ed354bSJames Henderson.. option:: --show-lma
164*a8ed354bSJames Henderson
165*a8ed354bSJames Henderson  Display the LMA column when dumping ELF section headers. Defaults to off
166*a8ed354bSJames Henderson  unless any section has different VMA and LMAs.
167*a8ed354bSJames Henderson
168*a8ed354bSJames Henderson.. option:: --start-address=<address>
169*a8ed354bSJames Henderson
170*a8ed354bSJames Henderson  When disassembling, only disassemble from the specified address.
171*a8ed354bSJames Henderson
172*a8ed354bSJames Henderson  When printing relocations, only print the relocations patching offsets from at least ``address``.
173*a8ed354bSJames Henderson
174*a8ed354bSJames Henderson  When printing symbols, only print symbols with a value of at least ``address``.
175*a8ed354bSJames Henderson
176*a8ed354bSJames Henderson.. option:: --stop-address=<address>
177*a8ed354bSJames Henderson
178*a8ed354bSJames Henderson  When disassembling, only disassemble up to, but not including the specified address.
179*a8ed354bSJames Henderson
180*a8ed354bSJames Henderson  When printing relocations, only print the relocations patching offsets up to ``address``.
181*a8ed354bSJames Henderson
182*a8ed354bSJames Henderson  When printing symbols, only print symbols with a value up to ``address``.
183*a8ed354bSJames Henderson
184*a8ed354bSJames Henderson.. option:: --triple=<string>
185*a8ed354bSJames Henderson
186*a8ed354bSJames Henderson  Target triple to disassemble for, see ``--version`` for available targets.
187*a8ed354bSJames Henderson
188*a8ed354bSJames Henderson.. option:: -w, --wide
189*a8ed354bSJames Henderson
190*a8ed354bSJames Henderson  Ignored for compatibility with GNU objdump.
191*a8ed354bSJames Henderson
192*a8ed354bSJames Henderson.. option:: --x86-asm-syntax=<style>
193*a8ed354bSJames Henderson
194*a8ed354bSJames Henderson  When used with the ``--disassemble`` option, choose style of code to emit from
1954a68586dSMichael Trent  X86 backend. Supported values are:
1964a68586dSMichael Trent
1974a68586dSMichael Trent   .. option:: att
1984a68586dSMichael Trent
1994a68586dSMichael Trent    AT&T-style assembly
2004a68586dSMichael Trent
2014a68586dSMichael Trent   .. option:: intel
2024a68586dSMichael Trent
2034a68586dSMichael Trent    Intel-style assembly
2044a68586dSMichael Trent
2054a68586dSMichael Trent
2064a68586dSMichael Trent  The default disassembly style is **att**.
2074a68586dSMichael Trent
208*a8ed354bSJames Henderson.. option:: -z, --disassemble-zeroes
209*a8ed354bSJames Henderson
210*a8ed354bSJames Henderson  Do not skip blocks of zeroes when disassembling.
211*a8ed354bSJames Henderson
212*a8ed354bSJames HendersonMACH-O ONLY OPTIONS AND COMMANDS
213*a8ed354bSJames Henderson--------------------------------
214*a8ed354bSJames Henderson
215*a8ed354bSJames Henderson.. option:: --arch=<architecture>
216*a8ed354bSJames Henderson
217*a8ed354bSJames Henderson  Specify the architecture to disassemble. see ``--version`` for available
218*a8ed354bSJames Henderson  architectures.
219*a8ed354bSJames Henderson
220*a8ed354bSJames Henderson.. option:: --archive-member-offsets
221*a8ed354bSJames Henderson
222*a8ed354bSJames Henderson  Print the offset to each archive member for Mach-O archives (requires
223*a8ed354bSJames Henderson  :option:`--archive-headers`).
224*a8ed354bSJames Henderson
225*a8ed354bSJames Henderson.. option:: --bind
226*a8ed354bSJames Henderson
227*a8ed354bSJames Henderson  Display binding info
228*a8ed354bSJames Henderson
229*a8ed354bSJames Henderson.. option:: --cfg
230*a8ed354bSJames Henderson
231*a8ed354bSJames Henderson  Create a CFG for every symbol in the object file and write it to a graphviz
232*a8ed354bSJames Henderson  file.
233*a8ed354bSJames Henderson
234*a8ed354bSJames Henderson.. option:: --data-in-code
235*a8ed354bSJames Henderson
236*a8ed354bSJames Henderson  Display the data in code table.
237*a8ed354bSJames Henderson
238*a8ed354bSJames Henderson.. option:: --dis-symname=<name>
239*a8ed354bSJames Henderson
240*a8ed354bSJames Henderson  Disassemble just the specified symbol's instructions.
241*a8ed354bSJames Henderson
242*a8ed354bSJames Henderson.. option:: --dylibs-used
243*a8ed354bSJames Henderson
244*a8ed354bSJames Henderson  Display the shared libraries used for linked files.
245*a8ed354bSJames Henderson
246*a8ed354bSJames Henderson.. option:: --dsym=<string>
247*a8ed354bSJames Henderson
248*a8ed354bSJames Henderson  Use .dSYM file for debug info.
249*a8ed354bSJames Henderson
250*a8ed354bSJames Henderson.. option:: --dylib-id
251*a8ed354bSJames Henderson
252*a8ed354bSJames Henderson  Display the shared library's ID for dylib files.
253*a8ed354bSJames Henderson
254*a8ed354bSJames Henderson.. option:: --exports-trie
255*a8ed354bSJames Henderson
256*a8ed354bSJames Henderson  Display exported symbols.
257*a8ed354bSJames Henderson
258*a8ed354bSJames Henderson.. option:: -g
259*a8ed354bSJames Henderson
260*a8ed354bSJames Henderson  Print line information from debug info if available.
261*a8ed354bSJames Henderson
262*a8ed354bSJames Henderson.. option:: --full-leading-addr
263*a8ed354bSJames Henderson
264*a8ed354bSJames Henderson  Print the full leading address when disassembling.
265*a8ed354bSJames Henderson
266*a8ed354bSJames Henderson.. option:: --indirect-symbols
267*a8ed354bSJames Henderson
268*a8ed354bSJames Henderson  Display the indirect symbol table.
269*a8ed354bSJames Henderson
270*a8ed354bSJames Henderson.. option:: --info-plist
271*a8ed354bSJames Henderson
272*a8ed354bSJames Henderson  Display the info plist section as strings.
273*a8ed354bSJames Henderson
274*a8ed354bSJames Henderson.. option:: --lazy-bind
275*a8ed354bSJames Henderson
276*a8ed354bSJames Henderson  Display lazy binding info.
277*a8ed354bSJames Henderson
278*a8ed354bSJames Henderson.. option:: --link-opt-hints
279*a8ed354bSJames Henderson
280*a8ed354bSJames Henderson  Display the linker optimization hints.
281*a8ed354bSJames Henderson
282*a8ed354bSJames Henderson.. option:: -m, --macho
283*a8ed354bSJames Henderson
284*a8ed354bSJames Henderson  Use Mach-O specific object file parser. Commands and other options may behave
285*a8ed354bSJames Henderson  differently when used with ``--macho``.
286*a8ed354bSJames Henderson
287*a8ed354bSJames Henderson.. option:: --no-leading-headers
288*a8ed354bSJames Henderson
289*a8ed354bSJames Henderson  Do not print any leading headers.
290*a8ed354bSJames Henderson
291*a8ed354bSJames Henderson.. option:: --no-symbolic-operands
292*a8ed354bSJames Henderson
293*a8ed354bSJames Henderson  Do not print symbolic operands when disassembling.
294*a8ed354bSJames Henderson
295*a8ed354bSJames Henderson.. option:: --non-verbose
296*a8ed354bSJames Henderson
297*a8ed354bSJames Henderson  Display the information for Mach-O objects in non-verbose or numeric form.
298*a8ed354bSJames Henderson
299*a8ed354bSJames Henderson.. option:: --objc-meta-data
300*a8ed354bSJames Henderson
301*a8ed354bSJames Henderson  Display the Objective-C runtime meta data.
302*a8ed354bSJames Henderson
303*a8ed354bSJames Henderson.. option:: --private-header
304*a8ed354bSJames Henderson
305*a8ed354bSJames Henderson  Display only the first format specific file header.
306*a8ed354bSJames Henderson
307*a8ed354bSJames Henderson.. option:: --rebase
308*a8ed354bSJames Henderson
309*a8ed354bSJames Henderson  Display rebasing information.
310*a8ed354bSJames Henderson
311*a8ed354bSJames Henderson.. option:: --universal-headers
312*a8ed354bSJames Henderson
313*a8ed354bSJames Henderson  Display universal headers.
314*a8ed354bSJames Henderson
315*a8ed354bSJames Henderson.. option:: --weak-bind
316*a8ed354bSJames Henderson
317*a8ed354bSJames Henderson  Display weak binding information.
318*a8ed354bSJames Henderson
3194a68586dSMichael TrentBUGS
3204a68586dSMichael Trent----
3214a68586dSMichael Trent
3224a68586dSMichael TrentTo report bugs, please visit <http://llvm.org/bugs/>.
3234a68586dSMichael Trent
3244a68586dSMichael TrentSEE ALSO
3254a68586dSMichael Trent--------
3264a68586dSMichael Trent
327*a8ed354bSJames Henderson:manpage:`llvm-nm(1)`, :manpage:`llvm-readobj(1)`
328