LLVM-READELF(1)

🌸 NAME 🌸

Okay so meet llvm-readelf, aka the GNU-style LLVM Object Reader β€” manual page LLVM-READELF(1), bestie, and yes she is that girl πŸ’…βœ¨


✨ SYNOPSIS ✨

llvm-readelf [options] [input...]

πŸ’– DESCRIPTION πŸ’–

llvm-readelf shows you low-level, format-specific info about one or more object files. It's giving x-ray vision for binaries πŸ”₯

If input is -, llvm-readelf reads from standard input. Otherwise, it reads from the specified filenames. No cap, that's the whole entrance situation 🫢


πŸŽ€ OPTIONS πŸŽ€

  • --all, -a β€” equivalent to specifying all the main display options relevant to the file format. The "give me the whole vibe check" option πŸ‘‘
  • --addrsig β€” display the address-significance table.
  • --arch-specific, -A β€” display architecture-specific information, e.g. the ARM attributes section on ARM.
  • --bb-addr-map β€” display the contents of the basic block address map section(s), which contain the address of each function, along with the relative offset of each basic block.
  • --decompress, -z β€” dump decompressed section content when used with -x or -p. If the section(s) are not compressed, they are displayed as is.
  • --demangle, -C β€” display demangled symbol names in the output.
  • --dependent-libraries β€” display the dependent libraries section.
  • --dyn-relocations β€” display the dynamic relocation entries.
  • --dyn-symbols, --dyn-syms β€” display the dynamic symbol table.
  • --dynamic-table, --dynamic, -d β€” display the dynamic table.
  • --cg-profile β€” display the callgraph profile section.
  • --histogram, -I β€” display a bucket list histogram for dynamic symbol hash tables.
  • --elf-linker-options β€” display the linker options section.
  • --elf-output-style=<value> β€” format ELF information in the specified style. Valid options are LLVM, GNU, and JSON. LLVM output is an expanded and structured format. GNU β€” the default β€” output mimics the equivalent GNU readelf output. JSON is JSON formatted output intended for machine consumption.
  • --extra-sym-info β€” display extra information (section name) when showing symbols.
  • --section-groups, -g β€” display section groups.
  • --expand-relocs β€” when used with --relocations, display each relocation in an expanded multi-line format.
  • --file-header, -h β€” display file headers.
  • --gnu-hash-table β€” display the GNU hash table for dynamic symbols.
  • --hash-symbols β€” display the expanded hash table with dynamic symbol data.
  • --hash-table β€” display the hash table for dynamic symbols.
  • --headers, -e β€” equivalent to setting: --file-header, --program-headers, and --sections.
  • --help β€” display a summary of command line options.
  • --hex-dump=<section[,section,...]>, -x β€” display the specified section(s) as hexadecimal bytes. section may be a section index or section name.
  • --memtag β€” display information about memory tagging present in the binary. This includes various memtag-specific dynamic entries, decoded global descriptor sections, and decoded Android-specific ELF notes.
  • --needed-libs β€” display the needed libraries.
  • --no-demangle β€” do not display demangled symbol names in the output. On by default.
  • --notes, -n β€” display all notes.
  • --pretty-print β€” when used with --elf-output-style, JSON output will be formatted in a more readable format.
  • --program-headers, --segments, -l β€” display the program headers.
  • --relocations, --relocs, -r β€” display the relocation entries in the file.
  • --sections, --section-headers, -S β€” display all sections.
  • --section-data β€” when used with --sections, display section data for each section shown. This option has no effect for GNU style output.
  • --section-details, -t β€” display all section details. Used as an alternative to --sections.
  • --section-mapping β€” display the section to segment mapping.
  • --section-relocations β€” when used with --sections, display relocations for each section shown. This option has no effect for GNU style output.
  • --section-symbols β€” when used with --sections, display symbols for each section shown. This option has no effect for GNU style output.
  • --stackmap β€” display contents of the stackmap section.
  • --stack-sizes β€” display the contents of the stack sizes section(s), i.e. pairs of function names and the size of their stack frames. Currently only implemented for GNU style output.
  • --string-dump=<section[,section,...]>, -p β€” display the specified section(s) as a list of strings. section may be a section index or section name.
  • --symbols, --syms, -s β€” display the symbol table. Also display the dynamic symbol table when using GNU output style for ELF.
  • --unwind, -u β€” display unwind information.
  • --version β€” display the version of the llvm-readelf executable.
  • --version-info, -V β€” display version sections.
  • --wide, -W β€” ignored for GNU readelf compatibility. The output is already similar to when using -W with GNU readelf.
  • @<FILE> β€” read command-line options from response file <FILE>.

πŸ¦‹ EXIT STATUS πŸ¦‹

llvm-readelf returns 0 under normal operation. It returns a non-zero exit code if there were any errors. So 0 is the slay outcome, non-zero means something went off 😭


🌈 SEE ALSO 🌈

Your next little reading list is iconic: llvm-nm(1), llvm-objdump(1), and llvm-readobj(1) 🫢✨


πŸ‘‘ AUTHOR πŸ‘‘

Maintained by the LLVM Team β€” https://llvm.org/ πŸ‘‘


2003-2025, LLVM Project β€” periodt πŸ’–


✨ Cute sign-off: this is page 19 of LLVM-READELF(1), source/version LLVM, dated 2025-01-17 β€” bye bestie, ily! πŸ’…πŸŽ€

πŸ“¦ where this page comes from