diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
commit | fc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch) | |
tree | ce1e3bce06471410239a6f41282e328770aa404a /upstream/fedora-rawhide/man1/readelf.1 | |
parent | Initial commit. (diff) | |
download | manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip |
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'upstream/fedora-rawhide/man1/readelf.1')
-rw-r--r-- | upstream/fedora-rawhide/man1/readelf.1 | 846 |
1 files changed, 846 insertions, 0 deletions
diff --git a/upstream/fedora-rawhide/man1/readelf.1 b/upstream/fedora-rawhide/man1/readelf.1 new file mode 100644 index 00000000..050fc2ba --- /dev/null +++ b/upstream/fedora-rawhide/man1/readelf.1 @@ -0,0 +1,846 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.45) +.\" +.\" 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 +.. +.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. +.ie n \{\ +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. 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 +.\" ======================================================================== +.\" +.IX Title "READELF 1" +.TH READELF 1 2024-02-22 binutils-2.42.50 "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\-X\fR|\fB\-\-extra\-sym\-info\fR|\fB\-\-no\-extra\-sym\-info\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 ELF 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 ELF files are supported, as are archives containing ELF files. +.PP +This program performs a similar function to \fBobjdump\fR but it +goes into more detail and it exists independently of the BFD +library, so if there is a bug in BFD 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 ELF 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 "no symbols" 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 LTO 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 UTF\-8 +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\-X\fR 4 +.IX Item "-X" +.PD 0 +.IP \fB\-\-extra\-sym\-info\fR 4 +.IX Item "--extra-sym-info" +.PD +When displaying details of symbols, include extra information not +normally presented. Currently this just adds the name of the section +referenced by the symbol's index field, if there is one. In the +future more information may be displayed when this option is enabled. +.Sp +Enabling this option effectively enables the \fB\-\-wide\fR option as +well, at least when displaying symbol information. +.IP \fB\-\-no\-extra\-sym\-info\fR 4 +.IX Item "--no-extra-sym-info" +Disables the effect of the \fB\-\-extra\-sym\-info\fR option. This +is the default. +.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 NOTE 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 IA64 ELF files, as well as ARM 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 BFD 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 DWARF 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 DWARF 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 \fIDEBUGINFOD_URLS\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 DIE 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 DIE numbered \fIn\fR. Only +siblings and children of the specified DIE 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 CTF section. CTF 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 CTF section contains ambiguously-defined types, it will consist +of an archive of many CTF 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 CTF 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 CTF 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 ELF 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\-2024 Free Software Foundation, Inc. +.PP +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU 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 "GNU Free Documentation License". |