blob: ea1b22d6d9f564a89e7fad02aaf809d35d325fd5 [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 Henderson778a5e52019-09-17 11:43:42 +0000136 Display the version of the :program:`llvm-readobj` executable.
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
Fangrui Song2d92c882019-10-01 01:31:15 +0000147.. option:: --arch-specific, -A
James Hendersonb96d9d82019-06-25 13:12:38 +0000148
Fangrui Song2d92c882019-10-01 01:31:15 +0000149 Display architecture-specific information, e.g. the ARM attributes section on ARM.
James Hendersonb96d9d82019-06-25 13:12:38 +0000150
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
James Hendersona2497b42019-09-13 15:01:39 +0000217.. option:: --stack-sizes
218
219 Display the contents of the stack sizes section(s), i.e. pairs of function
220 names and the size of their stack frames. Currently only implemented for GNU
221 style output.
222
James Hendersonb96d9d82019-06-25 13:12:38 +0000223.. option:: --version-info, -V
224
225 Display version sections.
226
227MACH-O SPECIFIC OPTIONS
228-----------------------
229
230The following options are implemented only for the Mach-O file format.
231
232.. option:: --macho-data-in-code
233
234 Display the Data in Code command.
235
236.. option:: --macho-dsymtab
237
238 Display the Dsymtab command.
239
240.. option:: --macho-indirect-symbols
241
242 Display indirect symbols.
243
244.. option:: --macho-linker-options
245
246 Display the Mach-O-specific linker options.
247
248.. option:: --macho-segment
249
250 Display the Segment command.
251
252.. option:: --macho-version-min
253
254 Display the version min command.
255
256PE/COFF SPECIFIC OPTIONS
257------------------------
258
259The following options are implemented only for the PE/COFF file format.
260
261.. option:: --codeview
262
263 Display CodeView debug information.
264
265.. option:: --codeview-ghash
266
267 Enable global hashing for CodeView type stream de-duplication.
268
269.. option:: --codeview-merged-types
270
271 Display the merged CodeView type stream.
272
273.. option:: --codeview-subsection-bytes
274
275 Dump raw contents of CodeView debug sections and records.
276
277.. option:: --coff-basereloc
278
279 Display the .reloc section.
280
281.. option:: --coff-debug-directory
282
283 Display the debug directory.
284
285.. option:: --coff-directives
286
287 Display the .drectve section.
288
289.. option:: --coff-exports
290
291 Display the export table.
292
293.. option:: --coff-imports
294
295 Display the import table.
296
297.. option:: --coff-load-config
298
299 Display the load config.
300
301.. option:: --coff-resources
302
303 Display the .rsrc section.
304
Nico Rieck51432432013-04-11 00:05:57 +0000305EXIT STATUS
306-----------
307
James Hendersonb96d9d82019-06-25 13:12:38 +0000308:program:`llvm-readobj` returns 0 under normal operation. It returns a non-zero
309exit code if there were any errors.
310
311SEE ALSO
312--------
313
314:manpage:`llvm-nm(1)`, :manpage:`llvm-objdump(1)`, :manpage:`llvm-readelf(1)`