1READELF(1) GNU Development Tools READELF(1)
2
3
4
6 readelf - display information about ELF files
7
9 readelf [-a|--all]
10 [-h|--file-header]
11 [-l|--program-headers|--segments]
12 [-S|--section-headers|--sections]
13 [-g|--section-groups]
14 [-t|--section-details]
15 [-e|--headers]
16 [-s|--syms|--symbols]
17 [--dyn-syms]
18 [-n|--notes]
19 [-r|--relocs]
20 [-u|--unwind]
21 [-d|--dynamic]
22 [-V|--version-info]
23 [-A|--arch-specific]
24 [-D|--use-dynamic]
25 [-L|--lint|--enable-checks]
26 [-x <number or name>|--hex-dump=<number or name>]
27 [-p <number or name>|--string-dump=<number or name>]
28 [-R <number or name>|--relocated-dump=<number or name>]
29 [-z|--decompress]
30 [-c|--archive-index]
31 [-w[lLiaprmfFsoORtUuTgAckK]|
32 --debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links,=follow-links]]
33 [--dwarf-depth=n]
34 [--dwarf-start=n]
35 [--ctf=section]
36 [--ctf-parent=section]
37 [--ctf-symbols=section]
38 [--ctf-strings=section]
39 [-I|--histogram]
40 [-v|--version]
41 [-W|--wide]
42 [-T|--silent-truncation]
43 [-H|--help]
44 elffile...
45
47 readelf displays information about one or more ELF format object files.
48 The options control what particular information to display.
49
50 elffile... are the object files to be examined. 32-bit and 64-bit ELF
51 files are supported, as are archives containing ELF files.
52
53 This program performs a similar function to objdump but it goes into
54 more detail and it exists independently of the BFD library, so if there
55 is a bug in BFD then readelf will not be affected.
56
58 The long and short forms of options, shown here as alternatives, are
59 equivalent. At least one option besides -v or -H must be given.
60
61 -a
62 --all
63 Equivalent to specifying --file-header, --program-headers,
64 --sections, --symbols, --relocs, --dynamic, --notes,
65 --version-info, --arch-specific, --unwind, --section-groups and
66 --histogram.
67
68 Note - this option does not enable --use-dynamic itself, so if that
69 option is not present on the command line then dynamic symbols and
70 dynamic relocs will not be displayed.
71
72 -h
73 --file-header
74 Displays the information contained in the ELF header at the start
75 of the file.
76
77 -l
78 --program-headers
79 --segments
80 Displays the information contained in the file's segment headers,
81 if it has any.
82
83 -S
84 --sections
85 --section-headers
86 Displays the information contained in the file's section headers,
87 if it has any.
88
89 -g
90 --section-groups
91 Displays the information contained in the file's section groups, if
92 it has any.
93
94 -t
95 --section-details
96 Displays the detailed section information. Implies -S.
97
98 -s
99 --symbols
100 --syms
101 Displays the entries in symbol table section of the file, if it has
102 one. If a symbol has version information associated with it then
103 this is displayed as well. The version string is displayed as a
104 suffix to the symbol name, preceeded by an @ character. For
105 example foo@VER_1. If the version is the default version to be
106 used when resolving unversioned references to the symbol then it is
107 displayed as a suffix preceeded by two @ characters. For example
108 foo@@VER_2.
109
110 --dyn-syms
111 Displays the entries in dynamic symbol table section of the file,
112 if it has one. The output format is the same as the format used by
113 the --syms option.
114
115 -e
116 --headers
117 Display all the headers in the file. Equivalent to -h -l -S.
118
119 -n
120 --notes
121 Displays the contents of the NOTE segments and/or sections, if any.
122
123 -r
124 --relocs
125 Displays the contents of the file's relocation section, if it has
126 one.
127
128 -u
129 --unwind
130 Displays the contents of the file's unwind section, if it has one.
131 Only the unwind sections for IA64 ELF files, as well as ARM unwind
132 tables (".ARM.exidx" / ".ARM.extab") are currently supported. If
133 support is not yet implemented for your architecture you could try
134 dumping the contents of the .eh_frames section using the
135 --debug-dump=frames or --debug-dump=frames-interp options.
136
137 -d
138 --dynamic
139 Displays the contents of the file's dynamic section, if it has one.
140
141 -V
142 --version-info
143 Displays the contents of the version sections in the file, it they
144 exist.
145
146 -A
147 --arch-specific
148 Displays architecture-specific information in the file, if there is
149 any.
150
151 -D
152 --use-dynamic
153 When displaying symbols, this option makes readelf use the symbol
154 hash tables in the file's dynamic section, rather than the symbol
155 table sections.
156
157 When displaying relocations, this option makes readelf display the
158 dynamic relocations rather than the static relocations.
159
160 -L
161 --lint
162 --enable-checks
163 Displays warning messages about possible problems with the file(s)
164 being examined. If used on its own then all of the contents of the
165 file(s) will be examined. If used with one of the dumping options
166 then the warning messages will only be produced for the things
167 being displayed.
168
169 -x <number or name>
170 --hex-dump=<number or name>
171 Displays the contents of the indicated section as a hexadecimal
172 bytes. A number identifies a particular section by index in the
173 section table; any other string identifies all sections with that
174 name in the object file.
175
176 -R <number or name>
177 --relocated-dump=<number or name>
178 Displays the contents of the indicated section as a hexadecimal
179 bytes. A number identifies a particular section by index in the
180 section table; any other string identifies all sections with that
181 name in the object file. The contents of the section will be
182 relocated before they are displayed.
183
184 -p <number or name>
185 --string-dump=<number or name>
186 Displays the contents of the indicated section as printable
187 strings. A number identifies a particular section by index in the
188 section table; any other string identifies all sections with that
189 name in the object file.
190
191 -z
192 --decompress
193 Requests that the section(s) being dumped by x, R or p options are
194 decompressed before being displayed. If the section(s) are not
195 compressed then they are displayed as is.
196
197 -c
198 --archive-index
199 Displays the file symbol index information contained in the header
200 part of binary archives. Performs the same function as the t
201 command to ar, but without using the BFD library.
202
203 -w[lLiaprmfFsOoRtUuTgAckK]
204 --debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links,=follow-links]
205 Displays the contents of the DWARF debug sections in the file, if
206 any are present. Compressed debug sections are automatically
207 decompressed (temporarily) before they are displayed. If one or
208 more of the optional letters or words follows the switch then only
209 those type(s) of data will be dumped. The letters and words refer
210 to the following information:
211
212 "a"
213 "=abbrev"
214 Displays the contents of the .debug_abbrev section.
215
216 "A"
217 "=addr"
218 Displays the contents of the .debug_addr section.
219
220 "c"
221 "=cu_index"
222 Displays the contents of the .debug_cu_index and/or
223 .debug_tu_index sections.
224
225 "f"
226 "=frames"
227 Display the raw contents of a .debug_frame section.
228
229 "F"
230 "=frame-interp"
231 Display the interpreted contents of a .debug_frame section.
232
233 "g"
234 "=gdb_index"
235 Displays the contents of the .gdb_index and/or .debug_names
236 sections.
237
238 "i"
239 "=info"
240 Displays the contents of the .debug_info section. Note: the
241 output from this option can also be restricted by the use of
242 the --dwarf-depth and --dwarf-start options.
243
244 "k"
245 "=links"
246 Displays the contents of the .gnu_debuglink and/or
247 .gnu_debugaltlink sections. Also displays any links to
248 separate dwarf object files (dwo), if they are specified by the
249 DW_AT_GNU_dwo_name or DW_AT_dwo_name attributes in the
250 .debug_info section.
251
252 "K"
253 "=follow-links"
254 Display the contents of any selected debug sections that are
255 found in linked, separate debug info file(s). This can result
256 in multiple versions of the same debug section being displayed
257 if it exists in more than one file.
258
259 In addition, when displaying DWARF attributes, if a form is
260 found that references the separate debug info file, then the
261 referenced contents will also be displayed.
262
263 "l"
264 "=rawline"
265 Displays the contents of the .debug_line section in a raw
266 format.
267
268 "L"
269 "=decodedline"
270 Displays the interpreted contents of the .debug_line section.
271
272 "m"
273 "=macro"
274 Displays the contents of the .debug_macro and/or .debug_macinfo
275 sections.
276
277 "o"
278 "=loc"
279 Displays the contents of the .debug_loc and/or .debug_loclists
280 sections.
281
282 "O"
283 "=str-offsets"
284 Displays the contents of the .debug_str_offsets section.
285
286 "p"
287 "=pubnames"
288 Displays the contents of the .debug_pubnames and/or
289 .debug_gnu_pubnames sections.
290
291 "r"
292 "=aranges"
293 Displays the contents of the .debug_aranges section.
294
295 "R"
296 "=Ranges"
297 Displays the contents of the .debug_ranges and/or
298 .debug_rnglists sections.
299
300 "s"
301 "=str"
302 Displays the contents of the .debug_str, .debug_line_str and/or
303 .debug_str_offsets sections.
304
305 "t"
306 "=pubtype"
307 Displays the contents of the .debug_pubtypes and/or
308 .debug_gnu_pubtypes sections.
309
310 "T"
311 "=trace_aranges"
312 Displays the contents of the .trace_aranges section.
313
314 "u"
315 "=trace_abbrev"
316 Displays the contents of the .trace_abbrev section.
317
318 "U"
319 "=trace_info"
320 Displays the contents of the .trace_info section.
321
322 Note: displaying the contents of .debug_static_funcs,
323 .debug_static_vars and debug_weaknames sections is not currently
324 supported.
325
326 --dwarf-depth=n
327 Limit the dump of the ".debug_info" section to n children. This is
328 only useful with --debug-dump=info. The default is to print all
329 DIEs; the special value 0 for n will also have this effect.
330
331 With a non-zero value for n, DIEs at or deeper than n levels will
332 not be printed. The range for n is zero-based.
333
334 --dwarf-start=n
335 Print only DIEs beginning with the DIE numbered n. This is only
336 useful with --debug-dump=info.
337
338 If specified, this option will suppress printing of any header
339 information and all DIEs before the DIE numbered n. Only siblings
340 and children of the specified DIE will be printed.
341
342 This can be used in conjunction with --dwarf-depth.
343
344 --ctf=section
345 Display the contents of the specified CTF section. CTF sections
346 themselves contain many subsections, all of which are displayed in
347 order.
348
349 --ctf-parent=section
350 Specify the name of another section from which the CTF dictionary
351 can inherit types. (If none is specified, we assume the CTF
352 dictionary inherits types from the default-named member of the
353 archive contained within this section.)
354
355 --ctf-symbols=section
356 --ctf-strings=section
357 Specify the name of another section from which the CTF file can
358 inherit strings and symbols. By default, the ".symtab" and its
359 linked string table are used.
360
361 If either of --ctf-symbols or --ctf-strings is specified, the other
362 must be specified as well.
363
364 -I
365 --histogram
366 Display a histogram of bucket list lengths when displaying the
367 contents of the symbol tables.
368
369 -v
370 --version
371 Display the version number of readelf.
372
373 -W
374 --wide
375 Don't break output lines to fit into 80 columns. By default readelf
376 breaks section header and segment listing lines for 64-bit ELF
377 files, so that they fit into 80 columns. This option causes readelf
378 to print each section header resp. each segment one a single line,
379 which is far more readable on terminals wider than 80 columns.
380
381 -T
382 --silent-truncation
383 Normally when readelf is displaying a symbol name, and it has to
384 truncate the name to fit into an 80 column display, it will add a
385 suffix of "[...]" to the name. This command line option disables
386 this behaviour, allowing 5 more characters of the name to be
387 displayed and restoring the old behaviour of readelf (prior to
388 release 2.35).
389
390 -H
391 --help
392 Display the command-line options understood by readelf.
393
394 @file
395 Read command-line options from file. The options read are inserted
396 in place of the original @file option. If file does not exist, or
397 cannot be read, then the option will be treated literally, and not
398 removed.
399
400 Options in file are separated by whitespace. A whitespace
401 character may be included in an option by surrounding the entire
402 option in either single or double quotes. Any character (including
403 a backslash) may be included by prefixing the character to be
404 included with a backslash. The file may itself contain additional
405 @file options; any such options will be processed recursively.
406
408 objdump(1), and the Info entries for binutils.
409
411 Copyright (c) 1991-2020 Free Software Foundation, Inc.
412
413 Permission is granted to copy, distribute and/or modify this document
414 under the terms of the GNU Free Documentation License, Version 1.3 or
415 any later version published by the Free Software Foundation; with no
416 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
417 Texts. A copy of the license is included in the section entitled "GNU
418 Free Documentation License".
419
420
421
422binutils-2.35 2020-07-24 READELF(1)