OS Manuals

/usr/bin/readelf

GNU binutils

From binutils 2.47-r4 (os), captured 2026-11-10 by running readelf --help (exit 0). permalink

Usage: readelf <option(s)> elf-file(s)
 Display information about the contents of ELF format files
 Options are:
  -a --all               Equivalent to: -h -l -S -s -r -d -V -A -I --got-contents
  -h --file-header       Display the ELF file header
  -l --program-headers   Display the program headers
     --segments          An alias for --program-headers
  -S --section-headers   Display the sections' header
     --sections          An alias for --section-headers
  -g --section-groups    Display the section groups
  -t --section-details   Display the section details
  -e --headers           Equivalent to: -h -l -S
  -s --syms              Display the symbol table
     --symbols           An alias for --syms
     --dyn-syms          Display the dynamic symbol table
     --lto-syms          Display LTO symbol tables
     --sym-base=[0|8|10|16]
                         Force base for symbol sizes.  The options are
                         mixed (the default), octal, decimal, hexadecimal.
  -C --demangle[=STYLE]  Decode mangled/processed symbol names
                           STYLE can be "none", "auto", "gnu-v3", "java",
                           "gnat", "dlang", "rust"
     --no-demangle       Do not demangle low-level symbol names.  (default)
     --recurse-limit     Enable a demangling recursion limit.  (default)
     --no-recurse-limit  Disable a demangling recursion limit
     -U[dlexhi] --unicode=[default|locale|escape|hex|highlight|invalid]
                         Display unicode characters as determined by the current locale
                          (default), escape sequences, "<hex sequences>", highlighted
                          escape sequences, or treat them as invalid and display as
                          "{hex sequences}"
     -X --extra-sym-info Display extra information when showing symbols
     --no-extra-sym-info Do not display extra information when showing symbols (default)
  -n --notes             Display the contents of note sections (if present)
  -r --relocs            Display the relocations (if present)
  -u --unwind            Display the unwind info (if present)
  -d --dynamic           Display the dynamic section (if present)
  -V --version-info      Display the version sections (if present)
  -A --arch-specific     Display architecture specific information (if any)
  -c --archive-index     Display the symbol/file index in an archive
  -D --use-dynamic       Use the dynamic section info when displaying symbols
  -L --lint|--enable-checks
                         Display warning messages for possible problems
  -x --hex-dump=<number|name>
                         Dump the contents of section <number|name> as bytes
  -p --string-dump=<number|name>
                         Dump the contents of section <number|name> as strings
  -R --relocated-dump=<number|name>
                         Dump the relocated contents of section <number|name>
  -z --decompress        Decompress section before dumping it

  -j --display-section=<name|number>
		         Display the contents of the indicated section.  Can be repeated
  -w --debug-dump[a/=abbrev, A/=addr, r/=aranges, c/=cu_index, L/=decodedline,
                  f/=frames, F/=frames-interp, g/=gdb_index, i/=info, o/=loc,
                  m/=macro, p/=pubnames, t/=pubtypes, R/=Ranges, l/=rawline,
                  s/=str, O/=str-offsets, u/=trace_abbrev, T/=trace_aranges,
                  U/=trace_info]
                         Display the contents of DWARF debug sections
  -wk --debug-dump=links Display the contents of sections that link to separate
                          debuginfo files
  -P --process-links     Display the contents of non-debug sections in separate
                          debuginfo files.  (Implies -wK)
  -wK --debug-dump=follow-links
                         Follow links to separate debug info files (default)
  -wN --debug-dump=no-follow-links
                         Do not follow links to separate debug info files
  --dwarf-depth=N        Do not display DIEs at depth N or greater
  --dwarf-start=N        Display DIEs starting at offset N
  --debug-dir=<DIR>      Search DIR for debug info files
  --ctf=<number|name>    Display CTF info from section <number|name>
  --ctf-parent=<name>    Use CTF archive member <name> as the CTF parent
  --ctf-symbols=<number|name>
                         Use section <number|name> as the CTF external symtab
  --ctf-strings=<number|name>
                         Use section <number|name> as the CTF external strtab
  --sframe[=NAME]        Display SFrame info from section NAME, (default '.sframe')
  -I --histogram         Display histogram of bucket list lengths
  --got-contents         Display GOT section contents
  -W --wide              Allow output width to exceed 80 characters
  -T --silent-truncation If a symbol name is truncated, do not add [...] suffix
  @<file>                Read options from <file>
  -H --help              Display this information
  -v --version           Display the version number of readelf
Report bugs to <https://sourceware.org/bugzilla/>
Options (87)
OptionDescriptionSource
-a --allEquivalent to: -h -l -S -s -r -d -V -A -I --got-contentshelp + man
-h --file-headerDisplay the ELF file headerhelp + man
-l --program-headersDisplay the program headershelp + man
--segmentsDisplays the information contained in the file's segment headers, if it has any.help + man
-S --section-headersDisplay the sections' headerhelp + man
--sectionsAn alias for --section-headershelp + man
-g --section-groupsDisplay the section groupshelp + man
-t --section-detailsDisplay the section detailshelp + man
-e --headersEquivalent to: -h -l -Shelp + man
-s --symsDisplay the symbol tablehelp + man
--symbolsAn alias for --symshelp + man
--dyn-symsDisplays the entries in dynamic symbol table section of the file, if it has one.help + man
--lto-symsDisplays the contents of any LTO symbol tables in the file.help + man
--sym-base 0|8|10|16Force base for symbol sizes.help
-C --demangle[=STYLEDecode mangled/processed symbol names STYLE can be "none", "auto", "gnu-v3", "java", "gnat", "dlang", "rust"help + man
--no-demangleDo not demangle low-level symbol names.help + man
--recurse-limitEnable a demangling recursion limit.help + man
--no-recurse-limitDisable a demangling recursion limithelp + man
-U dlexhiDisplay unicode characters as determined by the current locale (default), escape sequences, "<hex sequences>", highlighted escape sequences, or treat them as invalid and display as "{hex sequences}"help
-n --notesDisplay the contents of note sections (if present)help + man
-r --relocsDisplay the relocations (if present)help + man
-u --unwindDisplay the unwind info (if present)help + man
-d --dynamicDisplay the dynamic section (if present)help + man
-V --version-infoDisplay the version sections (if present)help + man
-A --arch-specificDisplay architecture specific information (if any)help + man
-c --archive-indexDisplay the symbol/file index in an archivehelp + man
-D --use-dynamicUse the dynamic section info when displaying symbolshelp + man
-L --lint|--enable-checksDisplay warning messages for possible problemshelp + man
-x --hex-dump=<number|nameDump the contents of section <number|name> as byteshelp + man
-p --string-dump=<number|nameDump the contents of section <number|name> as stringshelp + man
-R --relocated-dump=<number|nameDump the relocated contents of section <number|name>help + man
-z --decompressDecompress section before dumping ithelp + man
-j --display-section=<name|numberDisplay the contents of the indicated section.help + man
-w --debug-dump[a/=abbrevf/=frames, F/=frames-interp, g/=gdb_index, i/=info, o/=loc, m/=macro, p/=pubnames, t/=pubtypes, R/=Ranges, l/=rawline, s/=str, O/=str-offsets, u/=trace_abbrev, T/=trace_aranges, U/=trace_info]…help
-P --process-linksDisplay the contents of non-debug sections in separate debuginfo files.help + man
-wK --debug-dump=follow-linksFollow links to separate debug info files (default)help
-wN --debug-dump=no-follow-linksDo not follow links to separate debug info fileshelp
--dwarf-depth NLimit the dump of the ".debug_info" section to n children.help + man
--dwarf-start NPrint only DIEs beginning with the DIE numbered n.help + man
--debug-dir DIRSearch dir when looking for separate debug info files.help + man
--ctf number|nameDisplay CTF info from section <number|name>help
--ctf-parent nameIf 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.help + man
--ctf-symbols number|nameUse section <number|name> as the CTF external symtabhelp + man
--ctf-strings number|nameSpecify the name of another section from which the CTF file can inherit strings and symbols.help + man
--sframe NAMEDisplay SFrame info from section NAME, (default '.sframe')help
-I --histogramDisplay histogram of bucket list lengthshelp + man
--got-contentsDisplays the contents of the file's Global Offset Table (GOT) sections, if it has any.help + man
-W --wideAllow output width to exceed 80 charactershelp + man
-H --helpDisplay this informationhelp + man
-v --versionDisplay the version number of readelfhelp + man
--allEquivalent to specifying --file-header, --program-headers, --sections, --symbols, --relocs, --dynamic, --notes, --got-contents, --version-info, --arch-specific, --unwind, --section-groups and… (in the manual page but not in --help)man
--file-headerDisplays the information contained in the ELF header at the start of the file. (in the manual page but not in --help)man
--program-headers (in the manual page but not in --help)man
--quietSuppress "no symbols" diagnostic. (in the manual page but not in --help)man
--section-headersDisplays the information contained in the file's section headers, if it has any. (in the manual page but not in --help)man
--section-groupsDisplays the information contained in the file's section groups, if it has any. (in the manual page but not in --help)man
--section-detailsDisplays the detailed section information. (in the manual page but not in --help)man
--symsDisplays the entries in symbol table section of the file, if it has one. (in the manual page but not in --help)man
--recursion-limit (in the manual page but not in --help)man
--no-recursion-limitEnables or disables a limit on the amount of recursion performed whilst demangling strings. (in the manual page but not in --help)man
-X (in the manual page but not in --help)man
--extra-sym-infoWhen displaying details of symbols, include extra information not normally presented. (in the manual page but not in --help)man
--no-extra-sym-infoDisables the effect of the --extra-sym-info option. (in the manual page but not in --help)man
--headersDisplay all the headers in the file. (in the manual page but not in --help)man
--notesDisplays the contents of the NOTE segments and/or sections, if any. (in the manual page but not in --help)man
--relocsDisplays the contents of the file's relocation section, if it has one. (in the manual page but not in --help)man
--unwindDisplays the contents of the file's unwind section, if it has one. (in the manual page but not in --help)man
--dynamicDisplays the contents of the file's dynamic section, if it has one. (in the manual page but not in --help)man
--version-infoDisplays the contents of the version sections in the file, if they exist. (in the manual page but not in --help)man
--arch-specificDisplays architecture-specific information in the file, if there is any. (in the manual page but not in --help)man
--use-dynamicWhen displaying symbols, this option makes readelf use the symbol hash tables in the file's dynamic section, rather than the symbol table sections. (in the manual page but not in --help)man
--lint (in the manual page but not in --help)man
--enable-checksDisplays warning messages about possible problems with the file(s) being examined. (in the manual page but not in --help)man
--hex-dump numberDisplays the contents of the indicated section as a hexadecimal bytes. (in the manual page but not in --help)man
--relocated-dump numberDisplays the contents of the indicated section as a hexadecimal bytes. (in the manual page but not in --help)man
--string-dump numberDisplays the contents of the indicated section as printable strings. (in the manual page but not in --help)man
--display-sectionDisplays the contents of the indicated section according to its section header type. (in the manual page but not in --help)man
--decompressRequests that the section(s) being dumped by x, R or p options are decompressed before being displayed. (in the manual page but not in --help)man
--archive-indexDisplays the file symbol index information contained in the header part of binary archives. (in the manual page but not in --help)man
--process-linksDisplay the contents of non-debug sections found in separate debuginfo files that are linked to the main file. (in the manual page but not in --help)man
--ctf-parent-section sectionThis option lets you pick a completely different section for the CTF parent dictionary containing unambiguous types than for the child dictionaries that contain the ambiguous remainder. (in the manual page but not in --help)man
--histogramDisplay a histogram of bucket list lengths when displaying the contents of the symbol tables. (in the manual page but not in --help)man
--versionDisplay the version number of readelf. (in the manual page but not in --help)man
--wideDon't break output lines to fit into 80 columns. (in the manual page but not in --help)man
-T (in the manual page but not in --help)man
--silent-truncationNormally 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 "[...]" to the name. (in the manual page but not in --help)man
--helpDisplay the command-line options understood by readelf. (in the manual page but not in --help)man

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.