1.\" This file is distributed under the University of Illinois Open Source
2.\" License.
3.\"
4.Dd November 27, 2018
5.Dt LLVM-OBJDUMP 1
6.Os
7.Sh NAME
8.Nm llvm-objdump
9.Nd LLVM object file dumper
10.Sh SYNOPSIS
11.Nm llvm-objdump
12.Op Ar options
13.Ar objfile ...
14.Sh DESCRIPTION
15.Nm
16prints the contents of object files and final linked images named on the
17command line.
18If no file name is specified,
19.Nm
20will attempt to read from
21.Pa a.out .
22If
23.Pa -
24is used as a file name,
25.Nm
26will process a file on its standard input stream.
27.Nm
28accepts many of the same command line arguments as GNU objdump.
29.Sh OPTIONS
30.Ss General Options
31.Bl -tag -width indent
32.It Fl -aarch64-neon-syntax Ns = Ns Ar value
33Choose style of NEON code to emit from AArch64 backend.
34.Ar value
35may be one of:
36.Bl -tag -width indent
37.It generic
38Generic NEON assembly
39.It apple
40Apple-style NEON assembly
41.El
42.It Fl -arch Ns = Ns Ar value
43Choose architecture(s) from a Mach-O file to dump
44.It Fl -arch-name Ns = Ns ar arch
45Target arch to disassemble for.
46See
47.Fl -version
48for available targets.
49.It Fl -bind
50Display mach-o binding info.
51.It Fl -color
52Use colored syntax highlighting.
53Default autodetect.
54.It Fl -disassemble
55Display assembler mnemonics for machine instructions.
56.It Fl -disassemble-all
57Display assembler mnemonics for the machine instruction in all sections.
58.It Fl -dsym Ns = Ns Ar file
59Use
60.Ar file
61for debug info.
62.It Fl -dwarf Ns = Ns Ar sections
63Dump of dwarf debug sections.
64.Bl -tag -width indent
65.It frames
66.Dv .debug_frame
67.El
68.It Fl -exports-trie
69Display mach-o exported symbols.
70.It Fl -fault-map-section
71Display contents of faultmap section.
72.It Fl -filter-print-funcs Ns = Ns Ar functions
73Only print IR for functions whose name match
74.Ar functions
75for all print-[before|after][-all] options.
76.It Fl -full-leading-addr
77Print full leading address.
78.It Fl g
79Print line information from debug info if available.
80.It Fl h , -headers , -section-headers
81Display summaries of the headers for each section.
82.It Fl -help
83Display available options.
84Use
85.Fl -help-hidden
86for more.
87.It Fl -lazy-bind
88Display mach-o lazy binding info.
89.It Fl -line-numbers
90Display source line numbers with disassembly.
91Implies disassemble object.
92.It Fl -macho
93Use MachO specific object file parser.
94.It Fl -mattr Ns = Ns Ar attribute ...
95Target specific attributes.
96.It Fl -mcpu Ns = Ns Ar CPU
97Target a specific cpu type.
98Use
99.Fl mcpu Ns = Ns help
100for details.
101.It Fl -no-leading-addr
102Print no leading address.
103.It Fl -no-leading-headers
104Print no leading headers.
105.It Fl -no-show-raw-insn
106When disassembling instructions, do not print the instruction bytes.
107.It Fl -print-imm-hex
108Use hex format for immediate values.
109.It Fl -private-header
110Display only the first format specific file header.
111.It Fl -private-headers
112Display format specific file headers.
113.It Fl r
114Display the relocation entries in the file.
115.It Fl -raw-clang-ast
116Dump the raw binary contents of the clang AST section.
117.It Fl -rebase
118Display mach-o rebasing info.
119.It Fl -reverse-iterate
120Reverse iterate.
121.It Fl s
122Display the content of each section.
123.It Fl -section Ns = Ns Ar section
124Operate on the specified sections only.
125With
126.Fl -macho
127dump segment,section.
128.It Fl -source
129Display source inline with disassembly.
130Implies disassmble object.
131.It Fl -start-address Ns = Ns Ar address
132Disassemble beginning at
133.Ar address .
134.It Fl -stop-address Ns = Ns Ar address
135Stop disassembly at
136.Ar address .
137.It Fl t
138Display the symbol table.
139.It Fl -triple Ns = Ns Ar triple
140Target triple to disassemble for.
141See
142.Fl -version
143for available targets.
144.It Fl -unwind-info
145Display unwind information.
146.It Fl -version
147Display the version of this program.
148.It Fl -weak-bind
149Display mach-o weak binding info.
150.It Fl -x86-asm-syntax Ns = Ns Ar syntax
151Choose style of code to emit from X86 backend.
152.Bl -tag -width indent
153.It att
154Emit AT&T-style assembly.
155.It intel
156Emit Intel-style assembly.
157.El
158.El
159.Ss Mach-O Options
160There are a number of options specific to the Mach-O format.
161These are used in combination with the
162.Fl -macho
163option.
164.Bl -tag -width indent
165.It Fl -archive-headers
166Print archive headers for Mach-O archives.
167.It Fl -archive-member-offsets
168Print the offset to each archive member for Mach-O archives.
169Requires
170.Fl -macho
171and
172.Fl -archive-headers .
173.It Fl -data-in-code
174Print the data in code table for Mach-O objects.
175.It Fl -dis-symname Ns = Ns Ar symbol
176Disassemble just
177.Ar symbol 's
178instructions.
179.It Fl -dylib-id
180Print the shared library's id for the dylib Mach-O file.
181.It Fl -dylibs-used
182Print the shared libraries used for linked Mach-O files.
183.It Fl -indirect-symbols
184Print indirect symbol table for Mach-O objects.
185.It Fl -info-plist
186Print the info plist section as strings for Mach-O objects.
187.It Fl -link-opt-hints
188Print the linker optimization hints for Mach-O objects.
189.It Fl -no-symbolic-operands
190do not symbolic operands when disassembling.
191.It Fl -non-verbose
192Print the info for Mach-O objects in non-verbose or numeric form.
193.It Fl -objc-meta-data
194Print the Objective-C runtime meta data for Mach-O files.
195.It Fl -universal-headers
196Print Mach-O universal headers.
197.El
198