summaryrefslogtreecommitdiffstats
path: root/upstream/debian-bookworm/man1/readelf.1
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/debian-bookworm/man1/readelf.1')
-rw-r--r--upstream/debian-bookworm/man1/readelf.1906
1 files changed, 906 insertions, 0 deletions
diff --git a/upstream/debian-bookworm/man1/readelf.1 b/upstream/debian-bookworm/man1/readelf.1
new file mode 100644
index 00000000..da32b69d
--- /dev/null
+++ b/upstream/debian-bookworm/man1/readelf.1
@@ -0,0 +1,906 @@
+.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43)
+.\"
+.\" 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 "2023-01-14" "binutils-2.40.00" "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\-wD\fR|\fB\-\-debug\-dump=use\-debuginfod\fR]
+ [\fB\-wE\fR|\fB\-\-debug\-dump=do\-not\-use\-debuginfod\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\-\-sframe=\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.
+.Sp
+Note \- if support for the debuginfod protocol was enabled when the
+binutils were built then this option will also include an attempt to
+contact any debuginfod servers mentioned in the \fI\s-1DEBUGINFOD_URLS\s0\fR
+environment variable. This could take some time to resolve. This
+behaviour can be disabled via the \fB=do\-not\-use\-debuginfod\fR debug
+option.
+.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 """D""" 4
+.el .IP "\f(CWD\fR" 4
+.IX Item "D"
+.PD 0
+.ie n .IP """=use\-debuginfod""" 4
+.el .IP "\f(CW=use\-debuginfod\fR" 4
+.IX Item "=use-debuginfod"
+.PD
+Enables contacting debuginfod servers if there is a need to follow
+debug links. This is the default behaviour.
+.ie n .IP """E""" 4
+.el .IP "\f(CWE\fR" 4
+.IX Item "E"
+.PD 0
+.ie n .IP """=do\-not\-use\-debuginfod""" 4
+.el .IP "\f(CW=do\-not\-use\-debuginfod\fR" 4
+.IX Item "=do-not-use-debuginfod"
+.PD
+Disables contacting debuginfod servers when there is a need to follow
+debug links.
+.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\-2023 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".