877 lines
29 KiB
Groff
877 lines
29 KiB
Groff
.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.42)
|
|
.\"
|
|
.\" Standard preamble:
|
|
.\" ========================================================================
|
|
.de Sp \" Vertical space (when we can't use .PP)
|
|
.if t .sp .5v
|
|
.if n .sp
|
|
..
|
|
.de Vb \" Begin verbatim text
|
|
.ft CW
|
|
.nf
|
|
.ne \\$1
|
|
..
|
|
.de Ve \" End verbatim text
|
|
.ft R
|
|
.fi
|
|
..
|
|
.\" Set up some character translations and predefined strings. \*(-- will
|
|
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
|
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
|
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
|
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
|
.\" nothing in troff, for use with C<>.
|
|
.tr \(*W-
|
|
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
|
.ie n \{\
|
|
. ds -- \(*W-
|
|
. ds PI pi
|
|
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
|
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
|
. ds L" ""
|
|
. ds R" ""
|
|
. ds C` ""
|
|
. ds C' ""
|
|
'br\}
|
|
.el\{\
|
|
. ds -- \|\(em\|
|
|
. ds PI \(*p
|
|
. ds L" ``
|
|
. ds R" ''
|
|
. ds C`
|
|
. ds C'
|
|
'br\}
|
|
.\"
|
|
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
|
.ie \n(.g .ds Aq \(aq
|
|
.el .ds Aq '
|
|
.\"
|
|
.\" If the F register is >0, we'll generate index entries on stderr for
|
|
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
|
|
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
|
.\" output yourself in some meaningful fashion.
|
|
.\"
|
|
.\" Avoid warning from groff about undefined register 'F'.
|
|
.de IX
|
|
..
|
|
.nr rF 0
|
|
.if \n(.g .if rF .nr rF 1
|
|
.if (\n(rF:(\n(.g==0)) \{\
|
|
. if \nF \{\
|
|
. de IX
|
|
. tm Index:\\$1\t\\n%\t"\\$2"
|
|
..
|
|
. if !\nF==2 \{\
|
|
. nr % 0
|
|
. nr F 2
|
|
. \}
|
|
. \}
|
|
.\}
|
|
.rr rF
|
|
.\"
|
|
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
|
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
|
. \" fudge factors for nroff and troff
|
|
.if n \{\
|
|
. ds #H 0
|
|
. ds #V .8m
|
|
. ds #F .3m
|
|
. ds #[ \f1
|
|
. ds #] \fP
|
|
.\}
|
|
.if t \{\
|
|
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
|
. ds #V .6m
|
|
. ds #F 0
|
|
. ds #[ \&
|
|
. ds #] \&
|
|
.\}
|
|
. \" simple accents for nroff and troff
|
|
.if n \{\
|
|
. ds ' \&
|
|
. ds ` \&
|
|
. ds ^ \&
|
|
. ds , \&
|
|
. ds ~ ~
|
|
. ds /
|
|
.\}
|
|
.if t \{\
|
|
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
|
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
|
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
|
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
|
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
|
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
|
.\}
|
|
. \" troff and (daisy-wheel) nroff accents
|
|
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
|
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
|
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
|
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
|
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
|
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
|
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
|
.ds ae a\h'-(\w'a'u*4/10)'e
|
|
.ds Ae A\h'-(\w'A'u*4/10)'E
|
|
. \" corrections for vroff
|
|
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
|
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
|
. \" for low resolution devices (crt and lpr)
|
|
.if \n(.H>23 .if \n(.V>19 \
|
|
\{\
|
|
. ds : e
|
|
. ds 8 ss
|
|
. ds o a
|
|
. ds d- d\h'-1'\(ga
|
|
. ds D- D\h'-1'\(hy
|
|
. ds th \o'bp'
|
|
. ds Th \o'LP'
|
|
. ds ae ae
|
|
. ds Ae AE
|
|
.\}
|
|
.rm #[ #] #H #V #F C
|
|
.\" ========================================================================
|
|
.\"
|
|
.IX Title "READELF 1"
|
|
.TH READELF 1 "2024-04-01" "binutils-2.38" "GNU Development Tools"
|
|
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
|
.\" way too many mistakes in technical documents.
|
|
.if n .ad l
|
|
.nh
|
|
.SH "NAME"
|
|
readelf \- display information about ELF files
|
|
.SH "SYNOPSIS"
|
|
.IX Header "SYNOPSIS"
|
|
readelf [\fB\-a\fR|\fB\-\-all\fR]
|
|
[\fB\-h\fR|\fB\-\-file\-header\fR]
|
|
[\fB\-l\fR|\fB\-\-program\-headers\fR|\fB\-\-segments\fR]
|
|
[\fB\-S\fR|\fB\-\-section\-headers\fR|\fB\-\-sections\fR]
|
|
[\fB\-g\fR|\fB\-\-section\-groups\fR]
|
|
[\fB\-t\fR|\fB\-\-section\-details\fR]
|
|
[\fB\-e\fR|\fB\-\-headers\fR]
|
|
[\fB\-s\fR|\fB\-\-syms\fR|\fB\-\-symbols\fR]
|
|
[\fB\-\-dyn\-syms\fR|\fB\-\-lto\-syms\fR]
|
|
[\fB\-\-sym\-base=[0|8|10|16]\fR]
|
|
[\fB\-\-demangle\fR\fI=style\fR|\fB\-\-no\-demangle\fR]
|
|
[\fB\-\-quiet\fR]
|
|
[\fB\-\-recurse\-limit\fR|\fB\-\-no\-recurse\-limit\fR]
|
|
[\fB\-U\fR \fImethod\fR|\fB\-\-unicode=\fR\fImethod\fR]
|
|
[\fB\-n\fR|\fB\-\-notes\fR]
|
|
[\fB\-r\fR|\fB\-\-relocs\fR]
|
|
[\fB\-u\fR|\fB\-\-unwind\fR]
|
|
[\fB\-d\fR|\fB\-\-dynamic\fR]
|
|
[\fB\-V\fR|\fB\-\-version\-info\fR]
|
|
[\fB\-A\fR|\fB\-\-arch\-specific\fR]
|
|
[\fB\-D\fR|\fB\-\-use\-dynamic\fR]
|
|
[\fB\-L\fR|\fB\-\-lint\fR|\fB\-\-enable\-checks\fR]
|
|
[\fB\-x\fR <number or name>|\fB\-\-hex\-dump=\fR<number or name>]
|
|
[\fB\-p\fR <number or name>|\fB\-\-string\-dump=\fR<number or name>]
|
|
[\fB\-R\fR <number or name>|\fB\-\-relocated\-dump=\fR<number or name>]
|
|
[\fB\-z\fR|\fB\-\-decompress\fR]
|
|
[\fB\-c\fR|\fB\-\-archive\-index\fR]
|
|
[\fB\-w[lLiaprmfFsoORtUuTgAck]\fR|
|
|
\fB\-\-debug\-dump\fR[=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]]
|
|
[\fB\-wK\fR|\fB\-\-debug\-dump=follow\-links\fR]
|
|
[\fB\-wN\fR|\fB\-\-debug\-dump=no\-follow\-links\fR]
|
|
[\fB\-P\fR|\fB\-\-process\-links\fR]
|
|
[\fB\-\-dwarf\-depth=\fR\fIn\fR]
|
|
[\fB\-\-dwarf\-start=\fR\fIn\fR]
|
|
[\fB\-\-ctf=\fR\fIsection\fR]
|
|
[\fB\-\-ctf\-parent=\fR\fIsection\fR]
|
|
[\fB\-\-ctf\-symbols=\fR\fIsection\fR]
|
|
[\fB\-\-ctf\-strings=\fR\fIsection\fR]
|
|
[\fB\-I\fR|\fB\-\-histogram\fR]
|
|
[\fB\-v\fR|\fB\-\-version\fR]
|
|
[\fB\-W\fR|\fB\-\-wide\fR]
|
|
[\fB\-T\fR|\fB\-\-silent\-truncation\fR]
|
|
[\fB\-H\fR|\fB\-\-help\fR]
|
|
\fIelffile\fR...
|
|
.SH "DESCRIPTION"
|
|
.IX Header "DESCRIPTION"
|
|
\&\fBreadelf\fR displays information about one or more \s-1ELF\s0 format object
|
|
files. The options control what particular information to display.
|
|
.PP
|
|
\&\fIelffile\fR... are the object files to be examined. 32\-bit and
|
|
64\-bit \s-1ELF\s0 files are supported, as are archives containing \s-1ELF\s0 files.
|
|
.PP
|
|
This program performs a similar function to \fBobjdump\fR but it
|
|
goes into more detail and it exists independently of the \s-1BFD\s0
|
|
library, so if there is a bug in \s-1BFD\s0 then readelf will not be
|
|
affected.
|
|
.SH "OPTIONS"
|
|
.IX Header "OPTIONS"
|
|
The long and short forms of options, shown here as alternatives, are
|
|
equivalent. At least one option besides \fB\-v\fR or \fB\-H\fR must be
|
|
given.
|
|
.IP "\fB\-a\fR" 4
|
|
.IX Item "-a"
|
|
.PD 0
|
|
.IP "\fB\-\-all\fR" 4
|
|
.IX Item "--all"
|
|
.PD
|
|
Equivalent to specifying \fB\-\-file\-header\fR,
|
|
\&\fB\-\-program\-headers\fR, \fB\-\-sections\fR, \fB\-\-symbols\fR,
|
|
\&\fB\-\-relocs\fR, \fB\-\-dynamic\fR, \fB\-\-notes\fR,
|
|
\&\fB\-\-version\-info\fR, \fB\-\-arch\-specific\fR, \fB\-\-unwind\fR,
|
|
\&\fB\-\-section\-groups\fR and \fB\-\-histogram\fR.
|
|
.Sp
|
|
Note \- this option does not enable \fB\-\-use\-dynamic\fR itself, so
|
|
if that option is not present on the command line then dynamic symbols
|
|
and dynamic relocs will not be displayed.
|
|
.IP "\fB\-h\fR" 4
|
|
.IX Item "-h"
|
|
.PD 0
|
|
.IP "\fB\-\-file\-header\fR" 4
|
|
.IX Item "--file-header"
|
|
.PD
|
|
Displays the information contained in the \s-1ELF\s0 header at the start of the
|
|
file.
|
|
.IP "\fB\-l\fR" 4
|
|
.IX Item "-l"
|
|
.PD 0
|
|
.IP "\fB\-\-program\-headers\fR" 4
|
|
.IX Item "--program-headers"
|
|
.IP "\fB\-\-segments\fR" 4
|
|
.IX Item "--segments"
|
|
.PD
|
|
Displays the information contained in the file's segment headers, if it
|
|
has any.
|
|
.IP "\fB\-\-quiet\fR" 4
|
|
.IX Item "--quiet"
|
|
Suppress \*(L"no symbols\*(R" diagnostic.
|
|
.IP "\fB\-S\fR" 4
|
|
.IX Item "-S"
|
|
.PD 0
|
|
.IP "\fB\-\-sections\fR" 4
|
|
.IX Item "--sections"
|
|
.IP "\fB\-\-section\-headers\fR" 4
|
|
.IX Item "--section-headers"
|
|
.PD
|
|
Displays the information contained in the file's section headers, if it
|
|
has any.
|
|
.IP "\fB\-g\fR" 4
|
|
.IX Item "-g"
|
|
.PD 0
|
|
.IP "\fB\-\-section\-groups\fR" 4
|
|
.IX Item "--section-groups"
|
|
.PD
|
|
Displays the information contained in the file's section groups, if it
|
|
has any.
|
|
.IP "\fB\-t\fR" 4
|
|
.IX Item "-t"
|
|
.PD 0
|
|
.IP "\fB\-\-section\-details\fR" 4
|
|
.IX Item "--section-details"
|
|
.PD
|
|
Displays the detailed section information. Implies \fB\-S\fR.
|
|
.IP "\fB\-s\fR" 4
|
|
.IX Item "-s"
|
|
.PD 0
|
|
.IP "\fB\-\-symbols\fR" 4
|
|
.IX Item "--symbols"
|
|
.IP "\fB\-\-syms\fR" 4
|
|
.IX Item "--syms"
|
|
.PD
|
|
Displays the entries in symbol table section of the file, if it has one.
|
|
If a symbol has version information associated with it then this is
|
|
displayed as well. The version string is displayed as a suffix to the
|
|
symbol name, preceded by an @ character. For example
|
|
\&\fBfoo@VER_1\fR. If the version is the default version to be used
|
|
when resolving unversioned references to the symbol then it is
|
|
displayed as a suffix preceded by two @ characters. For example
|
|
\&\fBfoo@@VER_2\fR.
|
|
.IP "\fB\-\-dyn\-syms\fR" 4
|
|
.IX Item "--dyn-syms"
|
|
Displays the entries in dynamic symbol table section of the file, if it
|
|
has one. The output format is the same as the format used by the
|
|
\&\fB\-\-syms\fR option.
|
|
.IP "\fB\-\-lto\-syms\fR" 4
|
|
.IX Item "--lto-syms"
|
|
Displays the contents of any \s-1LTO\s0 symbol tables in the file.
|
|
.IP "\fB\-\-sym\-base=[0|8|10|16]\fR" 4
|
|
.IX Item "--sym-base=[0|8|10|16]"
|
|
Forces the size field of the symbol table to use the given base. Any
|
|
unrecognized options will be treated as \fB0\fR. \fB\-\-sym\-base=0\fR
|
|
represents the default and legacy behaviour. This will output sizes as decimal
|
|
for numbers less than 100000. For sizes 100000 and greater hexadecimal notation
|
|
will be used with a 0x prefix.
|
|
\&\fB\-\-sym\-base=8\fR will give the symbol sizes in octal.
|
|
\&\fB\-\-sym\-base=10\fR will always give the symbol sizes in decimal.
|
|
\&\fB\-\-sym\-base=16\fR will always give the symbol sizes in hexadecimal with a
|
|
0x prefix.
|
|
.IP "\fB\-C\fR" 4
|
|
.IX Item "-C"
|
|
.PD 0
|
|
.IP "\fB\-\-demangle[=\fR\fIstyle\fR\fB]\fR" 4
|
|
.IX Item "--demangle[=style]"
|
|
.PD
|
|
Decode (\fIdemangle\fR) low-level symbol names into user-level names.
|
|
This makes \*(C+ function names readable. Different compilers have
|
|
different mangling styles. The optional demangling style argument can
|
|
be used to choose an appropriate demangling style for your
|
|
compiler.
|
|
.IP "\fB\-\-no\-demangle\fR" 4
|
|
.IX Item "--no-demangle"
|
|
Do not demangle low-level symbol names. This is the default.
|
|
.IP "\fB\-\-recurse\-limit\fR" 4
|
|
.IX Item "--recurse-limit"
|
|
.PD 0
|
|
.IP "\fB\-\-no\-recurse\-limit\fR" 4
|
|
.IX Item "--no-recurse-limit"
|
|
.IP "\fB\-\-recursion\-limit\fR" 4
|
|
.IX Item "--recursion-limit"
|
|
.IP "\fB\-\-no\-recursion\-limit\fR" 4
|
|
.IX Item "--no-recursion-limit"
|
|
.PD
|
|
Enables or disables a limit on the amount of recursion performed
|
|
whilst demangling strings. Since the name mangling formats allow for
|
|
an infinite level of recursion it is possible to create strings whose
|
|
decoding will exhaust the amount of stack space available on the host
|
|
machine, triggering a memory fault. The limit tries to prevent this
|
|
from happening by restricting recursion to 2048 levels of nesting.
|
|
.Sp
|
|
The default is for this limit to be enabled, but disabling it may be
|
|
necessary in order to demangle truly complicated names. Note however
|
|
that if the recursion limit is disabled then stack exhaustion is
|
|
possible and any bug reports about such an event will be rejected.
|
|
.IP "\fB\-U\fR \fI[d|i|l|e|x|h]\fR" 4
|
|
.IX Item "-U [d|i|l|e|x|h]"
|
|
.PD 0
|
|
.IP "\fB\-\-unicode=[default|invalid|locale|escape|hex|highlight]\fR" 4
|
|
.IX Item "--unicode=[default|invalid|locale|escape|hex|highlight]"
|
|
.PD
|
|
Controls the display of non-ASCII characters in identifier names.
|
|
The default (\fB\-\-unicode=locale\fR or \fB\-\-unicode=default\fR) is
|
|
to treat them as multibyte characters and display them in the current
|
|
locale. All other versions of this option treat the bytes as \s-1UTF\-8\s0
|
|
encoded values and attempt to interpret them. If they cannot be
|
|
interpreted or if the \fB\-\-unicode=invalid\fR option is used then
|
|
they are displayed as a sequence of hex bytes, encloses in curly
|
|
parethesis characters.
|
|
.Sp
|
|
Using the \fB\-\-unicode=escape\fR option will display the characters
|
|
as as unicode escape sequences (\fI\euxxxx\fR). Using the
|
|
\&\fB\-\-unicode=hex\fR will display the characters as hex byte
|
|
sequences enclosed between angle brackets.
|
|
.Sp
|
|
Using the \fB\-\-unicode=highlight\fR will display the characters as
|
|
unicode escape sequences but it will also highlighted them in red,
|
|
assuming that colouring is supported by the output device. The
|
|
colouring is intended to draw attention to the presence of unicode
|
|
sequences when they might not be expected.
|
|
.IP "\fB\-e\fR" 4
|
|
.IX Item "-e"
|
|
.PD 0
|
|
.IP "\fB\-\-headers\fR" 4
|
|
.IX Item "--headers"
|
|
.PD
|
|
Display all the headers in the file. Equivalent to \fB\-h \-l \-S\fR.
|
|
.IP "\fB\-n\fR" 4
|
|
.IX Item "-n"
|
|
.PD 0
|
|
.IP "\fB\-\-notes\fR" 4
|
|
.IX Item "--notes"
|
|
.PD
|
|
Displays the contents of the \s-1NOTE\s0 segments and/or sections, if any.
|
|
.IP "\fB\-r\fR" 4
|
|
.IX Item "-r"
|
|
.PD 0
|
|
.IP "\fB\-\-relocs\fR" 4
|
|
.IX Item "--relocs"
|
|
.PD
|
|
Displays the contents of the file's relocation section, if it has one.
|
|
.IP "\fB\-u\fR" 4
|
|
.IX Item "-u"
|
|
.PD 0
|
|
.IP "\fB\-\-unwind\fR" 4
|
|
.IX Item "--unwind"
|
|
.PD
|
|
Displays the contents of the file's unwind section, if it has one. Only
|
|
the unwind sections for \s-1IA64 ELF\s0 files, as well as \s-1ARM\s0 unwind tables
|
|
(\f(CW\*(C`.ARM.exidx\*(C'\fR / \f(CW\*(C`.ARM.extab\*(C'\fR) are currently supported. If
|
|
support is not yet implemented for your architecture you could try
|
|
dumping the contents of the \fI.eh_frames\fR section using the
|
|
\&\fB\-\-debug\-dump=frames\fR or \fB\-\-debug\-dump=frames\-interp\fR
|
|
options.
|
|
.IP "\fB\-d\fR" 4
|
|
.IX Item "-d"
|
|
.PD 0
|
|
.IP "\fB\-\-dynamic\fR" 4
|
|
.IX Item "--dynamic"
|
|
.PD
|
|
Displays the contents of the file's dynamic section, if it has one.
|
|
.IP "\fB\-V\fR" 4
|
|
.IX Item "-V"
|
|
.PD 0
|
|
.IP "\fB\-\-version\-info\fR" 4
|
|
.IX Item "--version-info"
|
|
.PD
|
|
Displays the contents of the version sections in the file, it they
|
|
exist.
|
|
.IP "\fB\-A\fR" 4
|
|
.IX Item "-A"
|
|
.PD 0
|
|
.IP "\fB\-\-arch\-specific\fR" 4
|
|
.IX Item "--arch-specific"
|
|
.PD
|
|
Displays architecture-specific information in the file, if there
|
|
is any.
|
|
.IP "\fB\-D\fR" 4
|
|
.IX Item "-D"
|
|
.PD 0
|
|
.IP "\fB\-\-use\-dynamic\fR" 4
|
|
.IX Item "--use-dynamic"
|
|
.PD
|
|
When displaying symbols, this option makes \fBreadelf\fR use the
|
|
symbol hash tables in the file's dynamic section, rather than the
|
|
symbol table sections.
|
|
.Sp
|
|
When displaying relocations, this option makes \fBreadelf\fR
|
|
display the dynamic relocations rather than the static relocations.
|
|
.IP "\fB\-L\fR" 4
|
|
.IX Item "-L"
|
|
.PD 0
|
|
.IP "\fB\-\-lint\fR" 4
|
|
.IX Item "--lint"
|
|
.IP "\fB\-\-enable\-checks\fR" 4
|
|
.IX Item "--enable-checks"
|
|
.PD
|
|
Displays warning messages about possible problems with the file(s)
|
|
being examined. If used on its own then all of the contents of the
|
|
file(s) will be examined. If used with one of the dumping options
|
|
then the warning messages will only be produced for the things being
|
|
displayed.
|
|
.IP "\fB\-x <number or name>\fR" 4
|
|
.IX Item "-x <number or name>"
|
|
.PD 0
|
|
.IP "\fB\-\-hex\-dump=<number or name>\fR" 4
|
|
.IX Item "--hex-dump=<number or name>"
|
|
.PD
|
|
Displays the contents of the indicated section as a hexadecimal bytes.
|
|
A number identifies a particular section by index in the section table;
|
|
any other string identifies all sections with that name in the object file.
|
|
.IP "\fB\-R <number or name>\fR" 4
|
|
.IX Item "-R <number or name>"
|
|
.PD 0
|
|
.IP "\fB\-\-relocated\-dump=<number or name>\fR" 4
|
|
.IX Item "--relocated-dump=<number or name>"
|
|
.PD
|
|
Displays the contents of the indicated section as a hexadecimal
|
|
bytes. A number identifies a particular section by index in the
|
|
section table; any other string identifies all sections with that name
|
|
in the object file. The contents of the section will be relocated
|
|
before they are displayed.
|
|
.IP "\fB\-p <number or name>\fR" 4
|
|
.IX Item "-p <number or name>"
|
|
.PD 0
|
|
.IP "\fB\-\-string\-dump=<number or name>\fR" 4
|
|
.IX Item "--string-dump=<number or name>"
|
|
.PD
|
|
Displays the contents of the indicated section as printable strings.
|
|
A number identifies a particular section by index in the section table;
|
|
any other string identifies all sections with that name in the object file.
|
|
.IP "\fB\-z\fR" 4
|
|
.IX Item "-z"
|
|
.PD 0
|
|
.IP "\fB\-\-decompress\fR" 4
|
|
.IX Item "--decompress"
|
|
.PD
|
|
Requests that the section(s) being dumped by \fBx\fR, \fBR\fR or
|
|
\&\fBp\fR options are decompressed before being displayed. If the
|
|
section(s) are not compressed then they are displayed as is.
|
|
.IP "\fB\-c\fR" 4
|
|
.IX Item "-c"
|
|
.PD 0
|
|
.IP "\fB\-\-archive\-index\fR" 4
|
|
.IX Item "--archive-index"
|
|
.PD
|
|
Displays the file symbol index information contained in the header part
|
|
of binary archives. Performs the same function as the \fBt\fR
|
|
command to \fBar\fR, but without using the \s-1BFD\s0 library.
|
|
.IP "\fB\-w[lLiaprmfFsOoRtUuTgAckK]\fR" 4
|
|
.IX Item "-w[lLiaprmfFsOoRtUuTgAckK]"
|
|
.PD 0
|
|
.IP "\fB\-\-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]\fR" 4
|
|
.IX Item "--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]"
|
|
.PD
|
|
Displays the contents of the \s-1DWARF\s0 debug sections in the file, if any
|
|
are present. Compressed debug sections are automatically decompressed
|
|
(temporarily) before they are displayed. If one or more of the
|
|
optional letters or words follows the switch then only those type(s)
|
|
of data will be dumped. The letters and words refer to the following
|
|
information:
|
|
.RS 4
|
|
.ie n .IP """a""" 4
|
|
.el .IP "\f(CWa\fR" 4
|
|
.IX Item "a"
|
|
.PD 0
|
|
.ie n .IP """=abbrev""" 4
|
|
.el .IP "\f(CW=abbrev\fR" 4
|
|
.IX Item "=abbrev"
|
|
.PD
|
|
Displays the contents of the \fB.debug_abbrev\fR section.
|
|
.ie n .IP """A""" 4
|
|
.el .IP "\f(CWA\fR" 4
|
|
.IX Item "A"
|
|
.PD 0
|
|
.ie n .IP """=addr""" 4
|
|
.el .IP "\f(CW=addr\fR" 4
|
|
.IX Item "=addr"
|
|
.PD
|
|
Displays the contents of the \fB.debug_addr\fR section.
|
|
.ie n .IP """c""" 4
|
|
.el .IP "\f(CWc\fR" 4
|
|
.IX Item "c"
|
|
.PD 0
|
|
.ie n .IP """=cu_index""" 4
|
|
.el .IP "\f(CW=cu_index\fR" 4
|
|
.IX Item "=cu_index"
|
|
.PD
|
|
Displays the contents of the \fB.debug_cu_index\fR and/or
|
|
\&\fB.debug_tu_index\fR sections.
|
|
.ie n .IP """f""" 4
|
|
.el .IP "\f(CWf\fR" 4
|
|
.IX Item "f"
|
|
.PD 0
|
|
.ie n .IP """=frames""" 4
|
|
.el .IP "\f(CW=frames\fR" 4
|
|
.IX Item "=frames"
|
|
.PD
|
|
Display the raw contents of a \fB.debug_frame\fR section.
|
|
.ie n .IP """F""" 4
|
|
.el .IP "\f(CWF\fR" 4
|
|
.IX Item "F"
|
|
.PD 0
|
|
.ie n .IP """=frames\-interp""" 4
|
|
.el .IP "\f(CW=frames\-interp\fR" 4
|
|
.IX Item "=frames-interp"
|
|
.PD
|
|
Display the interpreted contents of a \fB.debug_frame\fR section.
|
|
.ie n .IP """g""" 4
|
|
.el .IP "\f(CWg\fR" 4
|
|
.IX Item "g"
|
|
.PD 0
|
|
.ie n .IP """=gdb_index""" 4
|
|
.el .IP "\f(CW=gdb_index\fR" 4
|
|
.IX Item "=gdb_index"
|
|
.PD
|
|
Displays the contents of the \fB.gdb_index\fR and/or
|
|
\&\fB.debug_names\fR sections.
|
|
.ie n .IP """i""" 4
|
|
.el .IP "\f(CWi\fR" 4
|
|
.IX Item "i"
|
|
.PD 0
|
|
.ie n .IP """=info""" 4
|
|
.el .IP "\f(CW=info\fR" 4
|
|
.IX Item "=info"
|
|
.PD
|
|
Displays the contents of the \fB.debug_info\fR section. Note: the
|
|
output from this option can also be restricted by the use of the
|
|
\&\fB\-\-dwarf\-depth\fR and \fB\-\-dwarf\-start\fR options.
|
|
.ie n .IP """k""" 4
|
|
.el .IP "\f(CWk\fR" 4
|
|
.IX Item "k"
|
|
.PD 0
|
|
.ie n .IP """=links""" 4
|
|
.el .IP "\f(CW=links\fR" 4
|
|
.IX Item "=links"
|
|
.PD
|
|
Displays the contents of the \fB.gnu_debuglink\fR,
|
|
\&\fB.gnu_debugaltlink\fR and \fB.debug_sup\fR sections, if any of
|
|
them are present. Also displays any links to separate dwarf object
|
|
files (dwo), if they are specified by the DW_AT_GNU_dwo_name or
|
|
DW_AT_dwo_name attributes in the \fB.debug_info\fR section.
|
|
.ie n .IP """K""" 4
|
|
.el .IP "\f(CWK\fR" 4
|
|
.IX Item "K"
|
|
.PD 0
|
|
.ie n .IP """=follow\-links""" 4
|
|
.el .IP "\f(CW=follow\-links\fR" 4
|
|
.IX Item "=follow-links"
|
|
.PD
|
|
Display the contents of any selected debug sections that are found in
|
|
linked, separate debug info file(s). This can result in multiple
|
|
versions of the same debug section being displayed if it exists in
|
|
more than one file.
|
|
.Sp
|
|
In addition, when displaying \s-1DWARF\s0 attributes, if a form is found that
|
|
references the separate debug info file, then the referenced contents
|
|
will also be displayed.
|
|
.Sp
|
|
Note \- in some distributions this option is enabled by default. It
|
|
can be disabled via the \fBN\fR debug option. The default can be
|
|
chosen when configuring the binutils via the
|
|
\&\fB\-\-enable\-follow\-debug\-links=yes\fR or
|
|
\&\fB\-\-enable\-follow\-debug\-links=no\fR options. If these are not
|
|
used then the default is to enable the following of debug links.
|
|
.ie n .IP """N""" 4
|
|
.el .IP "\f(CWN\fR" 4
|
|
.IX Item "N"
|
|
.PD 0
|
|
.ie n .IP """=no\-follow\-links""" 4
|
|
.el .IP "\f(CW=no\-follow\-links\fR" 4
|
|
.IX Item "=no-follow-links"
|
|
.PD
|
|
Disables the following of links to separate debug info files.
|
|
.ie n .IP """l""" 4
|
|
.el .IP "\f(CWl\fR" 4
|
|
.IX Item "l"
|
|
.PD 0
|
|
.ie n .IP """=rawline""" 4
|
|
.el .IP "\f(CW=rawline\fR" 4
|
|
.IX Item "=rawline"
|
|
.PD
|
|
Displays the contents of the \fB.debug_line\fR section in a raw
|
|
format.
|
|
.ie n .IP """L""" 4
|
|
.el .IP "\f(CWL\fR" 4
|
|
.IX Item "L"
|
|
.PD 0
|
|
.ie n .IP """=decodedline""" 4
|
|
.el .IP "\f(CW=decodedline\fR" 4
|
|
.IX Item "=decodedline"
|
|
.PD
|
|
Displays the interpreted contents of the \fB.debug_line\fR section.
|
|
.ie n .IP """m""" 4
|
|
.el .IP "\f(CWm\fR" 4
|
|
.IX Item "m"
|
|
.PD 0
|
|
.ie n .IP """=macro""" 4
|
|
.el .IP "\f(CW=macro\fR" 4
|
|
.IX Item "=macro"
|
|
.PD
|
|
Displays the contents of the \fB.debug_macro\fR and/or
|
|
\&\fB.debug_macinfo\fR sections.
|
|
.ie n .IP """o""" 4
|
|
.el .IP "\f(CWo\fR" 4
|
|
.IX Item "o"
|
|
.PD 0
|
|
.ie n .IP """=loc""" 4
|
|
.el .IP "\f(CW=loc\fR" 4
|
|
.IX Item "=loc"
|
|
.PD
|
|
Displays the contents of the \fB.debug_loc\fR and/or
|
|
\&\fB.debug_loclists\fR sections.
|
|
.ie n .IP """O""" 4
|
|
.el .IP "\f(CWO\fR" 4
|
|
.IX Item "O"
|
|
.PD 0
|
|
.ie n .IP """=str\-offsets""" 4
|
|
.el .IP "\f(CW=str\-offsets\fR" 4
|
|
.IX Item "=str-offsets"
|
|
.PD
|
|
Displays the contents of the \fB.debug_str_offsets\fR section.
|
|
.ie n .IP """p""" 4
|
|
.el .IP "\f(CWp\fR" 4
|
|
.IX Item "p"
|
|
.PD 0
|
|
.ie n .IP """=pubnames""" 4
|
|
.el .IP "\f(CW=pubnames\fR" 4
|
|
.IX Item "=pubnames"
|
|
.PD
|
|
Displays the contents of the \fB.debug_pubnames\fR and/or
|
|
\&\fB.debug_gnu_pubnames\fR sections.
|
|
.ie n .IP """r""" 4
|
|
.el .IP "\f(CWr\fR" 4
|
|
.IX Item "r"
|
|
.PD 0
|
|
.ie n .IP """=aranges""" 4
|
|
.el .IP "\f(CW=aranges\fR" 4
|
|
.IX Item "=aranges"
|
|
.PD
|
|
Displays the contents of the \fB.debug_aranges\fR section.
|
|
.ie n .IP """R""" 4
|
|
.el .IP "\f(CWR\fR" 4
|
|
.IX Item "R"
|
|
.PD 0
|
|
.ie n .IP """=Ranges""" 4
|
|
.el .IP "\f(CW=Ranges\fR" 4
|
|
.IX Item "=Ranges"
|
|
.PD
|
|
Displays the contents of the \fB.debug_ranges\fR and/or
|
|
\&\fB.debug_rnglists\fR sections.
|
|
.ie n .IP """s""" 4
|
|
.el .IP "\f(CWs\fR" 4
|
|
.IX Item "s"
|
|
.PD 0
|
|
.ie n .IP """=str""" 4
|
|
.el .IP "\f(CW=str\fR" 4
|
|
.IX Item "=str"
|
|
.PD
|
|
Displays the contents of the \fB.debug_str\fR, \fB.debug_line_str\fR
|
|
and/or \fB.debug_str_offsets\fR sections.
|
|
.ie n .IP """t""" 4
|
|
.el .IP "\f(CWt\fR" 4
|
|
.IX Item "t"
|
|
.PD 0
|
|
.ie n .IP """=pubtype""" 4
|
|
.el .IP "\f(CW=pubtype\fR" 4
|
|
.IX Item "=pubtype"
|
|
.PD
|
|
Displays the contents of the \fB.debug_pubtypes\fR and/or
|
|
\&\fB.debug_gnu_pubtypes\fR sections.
|
|
.ie n .IP """T""" 4
|
|
.el .IP "\f(CWT\fR" 4
|
|
.IX Item "T"
|
|
.PD 0
|
|
.ie n .IP """=trace_aranges""" 4
|
|
.el .IP "\f(CW=trace_aranges\fR" 4
|
|
.IX Item "=trace_aranges"
|
|
.PD
|
|
Displays the contents of the \fB.trace_aranges\fR section.
|
|
.ie n .IP """u""" 4
|
|
.el .IP "\f(CWu\fR" 4
|
|
.IX Item "u"
|
|
.PD 0
|
|
.ie n .IP """=trace_abbrev""" 4
|
|
.el .IP "\f(CW=trace_abbrev\fR" 4
|
|
.IX Item "=trace_abbrev"
|
|
.PD
|
|
Displays the contents of the \fB.trace_abbrev\fR section.
|
|
.ie n .IP """U""" 4
|
|
.el .IP "\f(CWU\fR" 4
|
|
.IX Item "U"
|
|
.PD 0
|
|
.ie n .IP """=trace_info""" 4
|
|
.el .IP "\f(CW=trace_info\fR" 4
|
|
.IX Item "=trace_info"
|
|
.PD
|
|
Displays the contents of the \fB.trace_info\fR section.
|
|
.RE
|
|
.RS 4
|
|
.Sp
|
|
Note: displaying the contents of \fB.debug_static_funcs\fR,
|
|
\&\fB.debug_static_vars\fR and \fBdebug_weaknames\fR sections is not
|
|
currently supported.
|
|
.RE
|
|
.IP "\fB\-\-dwarf\-depth=\fR\fIn\fR" 4
|
|
.IX Item "--dwarf-depth=n"
|
|
Limit the dump of the \f(CW\*(C`.debug_info\*(C'\fR section to \fIn\fR children.
|
|
This is only useful with \fB\-\-debug\-dump=info\fR. The default is
|
|
to print all DIEs; the special value 0 for \fIn\fR will also have this
|
|
effect.
|
|
.Sp
|
|
With a non-zero value for \fIn\fR, DIEs at or deeper than \fIn\fR
|
|
levels will not be printed. The range for \fIn\fR is zero-based.
|
|
.IP "\fB\-\-dwarf\-start=\fR\fIn\fR" 4
|
|
.IX Item "--dwarf-start=n"
|
|
Print only DIEs beginning with the \s-1DIE\s0 numbered \fIn\fR. This is only
|
|
useful with \fB\-\-debug\-dump=info\fR.
|
|
.Sp
|
|
If specified, this option will suppress printing of any header
|
|
information and all DIEs before the \s-1DIE\s0 numbered \fIn\fR. Only
|
|
siblings and children of the specified \s-1DIE\s0 will be printed.
|
|
.Sp
|
|
This can be used in conjunction with \fB\-\-dwarf\-depth\fR.
|
|
.IP "\fB\-P\fR" 4
|
|
.IX Item "-P"
|
|
.PD 0
|
|
.IP "\fB\-\-process\-links\fR" 4
|
|
.IX Item "--process-links"
|
|
.PD
|
|
Display the contents of non-debug sections found in separate debuginfo
|
|
files that are linked to the main file. This option automatically
|
|
implies the \fB\-wK\fR option, and only sections requested by other
|
|
command line options will be displayed.
|
|
.IP "\fB\-\-ctf[=\fR\fIsection\fR\fB]\fR" 4
|
|
.IX Item "--ctf[=section]"
|
|
Display the contents of the specified \s-1CTF\s0 section. \s-1CTF\s0 sections themselves
|
|
contain many subsections, all of which are displayed in order.
|
|
.Sp
|
|
By default, display the name of the section named \fI.ctf\fR, which is the
|
|
name emitted by \fBld\fR.
|
|
.IP "\fB\-\-ctf\-parent=\fR\fImember\fR" 4
|
|
.IX Item "--ctf-parent=member"
|
|
If the \s-1CTF\s0 section contains ambiguously-defined types, it will consist
|
|
of an archive of many \s-1CTF\s0 dictionaries, all inheriting from one
|
|
dictionary containing unambiguous types. This member is by default
|
|
named \fI.ctf\fR, like the section containing it, but it is possible to
|
|
change this name using the \f(CW\*(C`ctf_link_set_memb_name_changer\*(C'\fR
|
|
function at link time. When looking at \s-1CTF\s0 archives that have been
|
|
created by a linker that uses the name changer to rename the parent
|
|
archive member, \fB\-\-ctf\-parent\fR can be used to specify the name
|
|
used for the parent.
|
|
.IP "\fB\-\-ctf\-symbols=\fR\fIsection\fR" 4
|
|
.IX Item "--ctf-symbols=section"
|
|
.PD 0
|
|
.IP "\fB\-\-ctf\-strings=\fR\fIsection\fR" 4
|
|
.IX Item "--ctf-strings=section"
|
|
.PD
|
|
Specify the name of another section from which the \s-1CTF\s0 file can inherit
|
|
strings and symbols. By default, the \f(CW\*(C`.symtab\*(C'\fR and its linked
|
|
string table are used.
|
|
.Sp
|
|
If either of \fB\-\-ctf\-symbols\fR or \fB\-\-ctf\-strings\fR is specified, the
|
|
other must be specified as well.
|
|
.IP "\fB\-I\fR" 4
|
|
.IX Item "-I"
|
|
.PD 0
|
|
.IP "\fB\-\-histogram\fR" 4
|
|
.IX Item "--histogram"
|
|
.PD
|
|
Display a histogram of bucket list lengths when displaying the contents
|
|
of the symbol tables.
|
|
.IP "\fB\-v\fR" 4
|
|
.IX Item "-v"
|
|
.PD 0
|
|
.IP "\fB\-\-version\fR" 4
|
|
.IX Item "--version"
|
|
.PD
|
|
Display the version number of readelf.
|
|
.IP "\fB\-W\fR" 4
|
|
.IX Item "-W"
|
|
.PD 0
|
|
.IP "\fB\-\-wide\fR" 4
|
|
.IX Item "--wide"
|
|
.PD
|
|
Don't break output lines to fit into 80 columns. By default
|
|
\&\fBreadelf\fR breaks section header and segment listing lines for
|
|
64\-bit \s-1ELF\s0 files, so that they fit into 80 columns. This option causes
|
|
\&\fBreadelf\fR to print each section header resp. each segment one a
|
|
single line, which is far more readable on terminals wider than 80 columns.
|
|
.IP "\fB\-T\fR" 4
|
|
.IX Item "-T"
|
|
.PD 0
|
|
.IP "\fB\-\-silent\-truncation\fR" 4
|
|
.IX Item "--silent-truncation"
|
|
.PD
|
|
Normally when readelf is displaying a symbol name, and it has to
|
|
truncate the name to fit into an 80 column display, it will add a
|
|
suffix of \f(CW\*(C`[...]\*(C'\fR to the name. This command line option
|
|
disables this behaviour, allowing 5 more characters of the name to be
|
|
displayed and restoring the old behaviour of readelf (prior to release
|
|
2.35).
|
|
.IP "\fB\-H\fR" 4
|
|
.IX Item "-H"
|
|
.PD 0
|
|
.IP "\fB\-\-help\fR" 4
|
|
.IX Item "--help"
|
|
.PD
|
|
Display the command-line options understood by \fBreadelf\fR.
|
|
.IP "\fB@\fR\fIfile\fR" 4
|
|
.IX Item "@file"
|
|
Read command-line options from \fIfile\fR. The options read are
|
|
inserted in place of the original @\fIfile\fR option. If \fIfile\fR
|
|
does not exist, or cannot be read, then the option will be treated
|
|
literally, and not removed.
|
|
.Sp
|
|
Options in \fIfile\fR are separated by whitespace. A whitespace
|
|
character may be included in an option by surrounding the entire
|
|
option in either single or double quotes. Any character (including a
|
|
backslash) may be included by prefixing the character to be included
|
|
with a backslash. The \fIfile\fR may itself contain additional
|
|
@\fIfile\fR options; any such options will be processed recursively.
|
|
.SH "SEE ALSO"
|
|
.IX Header "SEE ALSO"
|
|
\&\fBobjdump\fR\|(1), and the Info entries for \fIbinutils\fR.
|
|
.SH "COPYRIGHT"
|
|
.IX Header "COPYRIGHT"
|
|
Copyright (c) 1991\-2022 Free Software Foundation, Inc.
|
|
.PP
|
|
Permission is granted to copy, distribute and/or modify this document
|
|
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
|
|
or any later version published by the Free Software Foundation;
|
|
with no Invariant Sections, with no Front-Cover Texts, and with no
|
|
Back-Cover Texts. A copy of the license is included in the
|
|
section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".
|