blob: d15a6739b8da90b63ee2eb85757c30285f2ac684 [file] [log] [blame]
Nico Rieck51432432013-04-11 00:05:57 +00001llvm-readobj - LLVM Object Reader
2=================================
3
James Hendersona0566842019-06-27 13:24:46 +00004.. program:: llvm-readobj
5
Nico Rieck51432432013-04-11 00:05:57 +00006SYNOPSIS
7--------
8
9:program:`llvm-readobj` [*options*] [*input...*]
10
11DESCRIPTION
12-----------
13
14The :program:`llvm-readobj` tool displays low-level format-specific information
James Hendersonb96d9d82019-06-25 13:12:38 +000015about one or more object files.
Nico Rieck51432432013-04-11 00:05:57 +000016
17If ``input`` is "``-``" or omitted, :program:`llvm-readobj` reads from standard
18input. Otherwise, it will read from the specified ``filenames``.
19
James Henderson90c57e02019-07-01 16:18:57 +000020DIFFERENCES TO LLVM-READELF
21---------------------------
22
23:program:`llvm-readelf` is an alias for the :manpage:`llvm-readobj` tool with a
24slightly different command-line interface and output that is GNU compatible.
25Following is a list of differences between :program:`llvm-readelf` and
26:program:`llvm-readobj`:
27
28- :program:`llvm-readelf` uses `GNU` for the :option:`--elf-output-style` option
29 by default. :program:`llvm-readobj` uses `LLVM`.
30- :program:`llvm-readelf` allows single-letter grouped flags (e.g.
31 ``llvm-readelf -SW`` is the same as ``llvm-readelf -S -W``).
32 :program:`llvm-readobj` does not allow grouping.
33- :program:`llvm-readelf` provides :option:`-s` as an alias for
34 :option:`--symbols`, for GNU :program:`readelf` compatibility, whereas it is
35 an alias for :option:`--section-headers` in :program:`llvm-readobj`.
36- :program:`llvm-readobj` provides ``-t`` as an alias for :option:`--symbols`.
37 :program:`llvm-readelf` does not.
38- :program:`llvm-readobj` provides ``--sr``, ``--sd``, ``--st`` and ``--dt`` as
39 aliases for :option:`--section-relocations`, :option:`--section-data`,
40 :option:`--section-symbols` and :option:`--dyn-symbols` respectively.
41 :program:`llvm-readelf` does not provide these aliases, to avoid conflicting
42 with grouped flags.
43
James Hendersonb96d9d82019-06-25 13:12:38 +000044GENERAL AND MULTI-FORMAT OPTIONS
45--------------------------------
Nico Rieck51432432013-04-11 00:05:57 +000046
James Hendersonb96d9d82019-06-25 13:12:38 +000047These options are applicable to more than one file format, or are unrelated to
48file formats.
Nico Rieck51432432013-04-11 00:05:57 +000049
James Hendersonb96d9d82019-06-25 13:12:38 +000050.. option:: --all
Nico Rieck51432432013-04-11 00:05:57 +000051
James Hendersonb96d9d82019-06-25 13:12:38 +000052 Equivalent to specifying all the main display options relevant to the file
53 format.
Nico Rieck51432432013-04-11 00:05:57 +000054
James Hendersonb96d9d82019-06-25 13:12:38 +000055.. option:: --addrsig
56
57 Display the address-significance table.
58
59.. option:: --color
60
61 Use colors in the output for warnings and errors.
62
63.. option:: --expand-relocs
64
65 When used with :option:`--relocations`, display each relocation in an expanded
66 multi-line format.
67
68.. option:: --file-headers, -h
Nico Rieck51432432013-04-11 00:05:57 +000069
70 Display file headers.
71
James Hendersonb96d9d82019-06-25 13:12:38 +000072.. option:: --headers, -e
Nico Rieck51432432013-04-11 00:05:57 +000073
James Hendersonb96d9d82019-06-25 13:12:38 +000074 Equivalent to setting: :option:`--file-headers`, :option:`--program-headers`,
75 and :option:`--sections`.
Nico Rieck51432432013-04-11 00:05:57 +000076
James Hendersonb96d9d82019-06-25 13:12:38 +000077.. option:: --help
Nico Rieck51432432013-04-11 00:05:57 +000078
James Hendersonb96d9d82019-06-25 13:12:38 +000079 Display a summary of command line options.
Nico Rieck51432432013-04-11 00:05:57 +000080
James Hendersonb96d9d82019-06-25 13:12:38 +000081.. option:: --help-list
Nico Rieck51432432013-04-11 00:05:57 +000082
James Hendersonb96d9d82019-06-25 13:12:38 +000083 Display an uncategorized summary of command line options.
Nico Rieck51432432013-04-11 00:05:57 +000084
James Hendersonb96d9d82019-06-25 13:12:38 +000085.. option:: --hex-dump=<section[,section,...]>, -x
Nico Rieck51432432013-04-11 00:05:57 +000086
James Hendersonb96d9d82019-06-25 13:12:38 +000087 Display the specified section(s) as hexadecimal bytes. ``section`` may be a
88 section index or section name.
Nico Rieck51432432013-04-11 00:05:57 +000089
James Hendersonb96d9d82019-06-25 13:12:38 +000090.. option:: --needed-libs
91
92 Display the needed libraries.
93
94.. option:: --relocations, --relocs, -r
Nico Rieck51432432013-04-11 00:05:57 +000095
96 Display the relocation entries in the file.
97
James Hendersonb96d9d82019-06-25 13:12:38 +000098.. option:: --sections, --section-headers, -s, -S
99
100 Display all sections.
101
102.. option:: --section-data, --sd
103
James Henderson9e38f512019-07-05 16:38:52 +0000104 When used with :option:`--sections`, display section data for each section
105 shown. This option has no effect for GNU style output.
James Hendersonb96d9d82019-06-25 13:12:38 +0000106
107.. option:: --section-relocations, --sr
108
James Henderson9e38f512019-07-05 16:38:52 +0000109 When used with :option:`--sections`, display relocations for each section
110 shown. This option has no effect for GNU style output.
James Hendersonb96d9d82019-06-25 13:12:38 +0000111
112.. option:: --section-symbols, --st
113
114 When used with :option:`--sections`, display symbols for each section shown.
James Henderson9e38f512019-07-05 16:38:52 +0000115 This option has no effect for GNU style output.
James Hendersonb96d9d82019-06-25 13:12:38 +0000116
117.. option:: --stackmap
118
119 Display contents of the stackmap section.
120
121.. option:: --string-dump=<section[,section,...]>, -p
122
123 Display the specified section(s) as a list of strings. ``section`` may be a
124 section index or section name.
125
126.. option:: --symbols, --syms, -t
Nico Rieck51432432013-04-11 00:05:57 +0000127
128 Display the symbol table.
129
James Hendersonb96d9d82019-06-25 13:12:38 +0000130.. option:: --unwind, -u
Nico Rieck51432432013-04-11 00:05:57 +0000131
132 Display unwind information.
133
James Hendersonb96d9d82019-06-25 13:12:38 +0000134.. option:: --version
Nico Rieckf3f0b792013-04-12 04:01:52 +0000135
James Hendersonb96d9d82019-06-25 13:12:38 +0000136 Display the version of this program.
James Hendersone50d9cb2019-01-17 15:34:12 +0000137
James Henderson9485b262019-06-21 11:49:20 +0000138.. option:: @<FILE>
139
140 Read command-line options from response file `<FILE>`.
141
James Hendersonb96d9d82019-06-25 13:12:38 +0000142ELF SPECIFIC OPTIONS
143--------------------
144
145The following options are implemented only for the ELF file format.
146
147.. option:: --arm-attributes
148
149 Display the ARM attributes section. Only applicable for ARM architectures.
150
151.. option:: --demangle, -C
152
153 Display demangled symbol names in the output.
154
155.. option:: --dyn-relocations
156
157 Display the dynamic relocation entries.
158
159.. option:: --dyn-symbols, --dyn-syms, --dt
160
161 Display the dynamic symbol table.
162
163.. option:: --dynamic-table, --dynamic, -d
164
165 Display the dynamic table.
166
167.. option:: --elf-cg-profile
168
169 Display the callgraph profile section.
170
171.. option:: --elf-hash-histogram, --histogram, -I
172
173 Display a bucket list histogram for dynamic symbol hash tables.
174
175.. option:: --elf-linker-options
176
177 Display the linker options section.
178
179.. option:: --elf-output-style=<value>
180
James Hendersonb52a0c02019-07-08 15:46:26 +0000181 Format ELF information in the specified style. Valid options are ``LLVM`` and
James Hendersonb96d9d82019-06-25 13:12:38 +0000182 ``GNU``. ``LLVM`` output (the default) is an expanded and structured format,
183 whilst ``GNU`` output mimics the equivalent GNU :program:`readelf` output.
184
185.. option:: --elf-section-groups, --section-groups, -g
186
187 Display section groups.
188
189.. option:: --gnu-hash-table
190
191 Display the GNU hash table for dynamic symbols.
192
193.. option:: --hash-symbols
194
James Hendersonb52a0c02019-07-08 15:46:26 +0000195 Display the expanded hash table with dynamic symbol data.
James Hendersonb96d9d82019-06-25 13:12:38 +0000196
197.. option:: --hash-table
198
199 Display the hash table for dynamic symbols.
200
201.. option:: --notes, -n
202
203 Display all notes.
204
205.. option:: --program-headers, --segments, -l
206
207 Display the program headers.
208
209.. option:: --raw-relr
210
211 Do not decode relocations in RELR relocation sections when displaying them.
212
213.. option:: --section-mapping
214
215 Display the section to segment mapping.
216
217.. option:: --version-info, -V
218
219 Display version sections.
220
221MACH-O SPECIFIC OPTIONS
222-----------------------
223
224The following options are implemented only for the Mach-O file format.
225
226.. option:: --macho-data-in-code
227
228 Display the Data in Code command.
229
230.. option:: --macho-dsymtab
231
232 Display the Dsymtab command.
233
234.. option:: --macho-indirect-symbols
235
236 Display indirect symbols.
237
238.. option:: --macho-linker-options
239
240 Display the Mach-O-specific linker options.
241
242.. option:: --macho-segment
243
244 Display the Segment command.
245
246.. option:: --macho-version-min
247
248 Display the version min command.
249
250PE/COFF SPECIFIC OPTIONS
251------------------------
252
253The following options are implemented only for the PE/COFF file format.
254
255.. option:: --codeview
256
257 Display CodeView debug information.
258
259.. option:: --codeview-ghash
260
261 Enable global hashing for CodeView type stream de-duplication.
262
263.. option:: --codeview-merged-types
264
265 Display the merged CodeView type stream.
266
267.. option:: --codeview-subsection-bytes
268
269 Dump raw contents of CodeView debug sections and records.
270
271.. option:: --coff-basereloc
272
273 Display the .reloc section.
274
275.. option:: --coff-debug-directory
276
277 Display the debug directory.
278
279.. option:: --coff-directives
280
281 Display the .drectve section.
282
283.. option:: --coff-exports
284
285 Display the export table.
286
287.. option:: --coff-imports
288
289 Display the import table.
290
291.. option:: --coff-load-config
292
293 Display the load config.
294
295.. option:: --coff-resources
296
297 Display the .rsrc section.
298
Nico Rieck51432432013-04-11 00:05:57 +0000299EXIT STATUS
300-----------
301
James Hendersonb96d9d82019-06-25 13:12:38 +0000302:program:`llvm-readobj` returns 0 under normal operation. It returns a non-zero
303exit code if there were any errors.
304
305SEE ALSO
306--------
307
308:manpage:`llvm-nm(1)`, :manpage:`llvm-objdump(1)`, :manpage:`llvm-readelf(1)`