diff options
Diffstat (limited to 'upstream/debian-bookworm/man1/readelf.1')
-rw-r--r-- | upstream/debian-bookworm/man1/readelf.1 | 906 |
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". |