LLVM-READELF(1)

πŸ“¦ version 23.1.3, in centos-stream 9

πŸ’– llvm-readelf β€” LLVM-READELF(1) πŸ’–

Okay so bestie, this is the manual page for llvm-readelf, and it’s literally the GNU-style LLVM object reader. Get comfy, we’re reading object files together πŸ’…βœ¨


πŸŽ€ NAME πŸŽ€

llvm-readelf β€” GNU-style LLVM Object Reader. Periodt.

πŸ¦‹ SYNOPSIS πŸ¦‹

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

🌸 DESCRIPTION 🌸

The llvm-readelf tool displays low-level format-specific information about one or more object files. No cap, that’s the whole vibe.

If input is -, llvm-readelf reads from standard input. Otherwise, it will read from the specified filenames. Literally that simple, bestie 🫢

✨ OPTIONS ✨

  • --addrsig β€” Display the address-significance table. Vibe check: address significance, secured πŸ’–
  • --all, -a β€” Equivalent to specifying all the main display options relevant to the file format. It’s giving β€œgive me everything” energy πŸ‘‘
  • --arch-specific, -A β€” Display architecture-specific information, e.g. the ARM attributes section on ARM. Architecture lore, unlocked πŸ¦‹
  • --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. Basic block map, but make it iconic πŸ’…
  • --call-graph-info β€” Display the call graph section entries i.e. for each function its identifying information, each of its direct callees' information and for each indirect callee a 64-bit number representing the callee's function signature. This information can be used to reconstruct the program call graph. Call graph reconstruction? Obsessed 😭πŸ”₯
  • --cg-profile β€” Display the callgraph profile section. Callgraph profile says hi πŸŽ€
  • --decompress, -z β€” Dump decompressed section content when used with -x or -p. If the section(s) are not compressed, they are displayed as is. Unzip the vibe, respectfully 🧚
  • --demangle, -C β€” Display demangled symbol names in the output. Demangled names are highkey a gift πŸ’–
  • --dependent-libraries β€” Display the dependent libraries section. Dependencies, but make it visible 🌸
  • --dynamic-table, --dynamic, -d β€” Display the dynamic table. Dynamic table main character energy πŸ‘‘
  • --dyn-relocations β€” Display the dynamic relocation entries. Dynamic relocations, slay πŸ’…
  • --dyn-symbols, --dyn-syms β€” Display the dynamic symbol table. Dynamic symbols, no cap ✨
  • --elf-linker-options β€” Display the linker options section. Linker options section, noted 🫢
  • --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. Pick your aesthetic, bestie 🌈
  • --extra-sym-info β€” Display extra information (section name) when showing symbols. Extra sym info, because context ate πŸ’–
  • --expand-relocs β€” When used with --relocations, display each relocation in an expanded multi-line format. Relocations but spread out and dramatic 😭
  • --file-header, -h β€” Display file headers. File headers, hello gorgeous πŸŽ€
  • --gnu-hash-table β€” Display the GNU hash table for dynamic symbols. GNU hash table is lowkey iconic πŸ’…
  • --hash-symbols β€” Display the expanded hash table with dynamic symbol data. Expanded hash table with dynamic symbol data, periodt ✨
  • --hash-table β€” Display the hash table for dynamic symbols. Hash table for dynamic symbols, yes ma’am πŸ’–
  • --headers, -e β€” Equivalent to setting: --file-header, --program-headers, and --sections. It’s giving bundled headers moment πŸ‘‘
  • --help β€” Display a summary of command line options. Help section, always there for you 🫢
  • --hex-dump=<section[,section,...]>, -x β€” Display the specified section(s) as hexadecimal bytes. Where section may be a section index or section name. Hex dump, but cute 🌸
  • --histogram, -I β€” Display a bucket list histogram for dynamic symbol hash tables. Bucket list histogram for dynamic symbol hash tables, iykyk πŸ’…
  • --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. Memtag info is highkey iconic πŸ’œ
  • --needed-libs β€” Display the needed libraries. Needed libraries, showing up as needed πŸ¦‹
  • --no-demangle β€” Do not display demangled symbol names in the output. On by default. Not me keeping it raw and mangled πŸ™ˆ
  • --notes, -n β€” Display all notes. Notes, all of them, no notes missed πŸ“
  • --offloading β€” Display list of HIP offload bundles. HIP offload bundles, slay πŸ’…
  • --pretty-print β€” When used with --elf-output-style, JSON output will be formatted in a more readable format. Pretty-print is literally the glow-up ✨
  • --program-headers, --segments, -l β€” Display the program headers. Program headers, main character energy πŸ‘‘
  • --relocations, --relocs, -r β€” Display the relocation entries in the file. Relocations in the file, we love to see it πŸ’–
  • --section-data β€” When used with --sections, display section data for each section shown. This option has no effect for GNU style output. Section data, but GNU style output said β€œnot today” πŸ’€
  • --section-details, -t β€” Display all section details. Used as an alternative to --sections. All section details, because we’re thorough bestie πŸŽ€
  • --section-groups, -g β€” Display section groups. Section groups, periodt 🌸
  • --section-mapping β€” Display the section to segment mapping. Section to segment mapping is iconic, fr fr πŸ¦‹
  • --section-relocations β€” When used with --sections, display relocations for each section shown. This option has no effect for GNU style output. Section relocations, but GNU style output is unbothered πŸ’…
  • --sections, --section-headers, -S β€” Display all sections. All sections, all the time πŸ‘‘
  • --section-symbols β€” When used with --sections, display symbols for each section shown. This option has no effect for GNU style output. Section symbols, and again GNU style output said nope πŸ™ˆ
  • --stackmap β€” Display contents of the stackmap section. Stackmap contents, unlocked 🧚
  • --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. Stack sizes, currently only implemented for GNU style output, no cap πŸ’–
  • --string-dump=<section[,section,...]>, -p β€” Display the specified section(s) as a list of strings. Where section may be a section index or section name. Strings section, serving string energy ✨
  • --symbols, --syms, -s β€” Display the symbol table. Also display the dynamic symbol table when using GNU output style for ELF. Symbols and GNU-style dynamic symbols, slay πŸ’…
  • --unwind, -u β€” Display unwind information. Unwind information, iconic as always 🌈
  • --version β€” Display the version of the llvm-readelf executable. Version check, no cap πŸ‘‘
  • --version-info, -V β€” Display version sections. Version sections, yes bestie πŸ’–
  • --wide, -W β€” Ignored for GNU readelf compatibility. The output is already similar to when using -W with GNU readelf. It’s ignored, but make it fashion πŸ’…
  • @<FILE> β€” Read command-line options from response file <FILE>. Response file <FILE> says β€œread me” 🫢

πŸ’€ EXIT STATUS πŸ’€

llvm-readelf returns 0 under normal operation. It returns a non-zero exit code if there were any errors. Fr fr, 0 means we’re chilling, non-zero means something went off 😭

πŸ¦‹ SEE ALSO πŸ¦‹

πŸ’œ AUTHOR πŸ’œ

Maintained by the LLVM Team (https://llvm.org/).

2003-2026, LLVM Project


This page is from the LLVM Project, dated 2026-10-06, and it’s page 23 of the LLVM-READELF(1) manual. Bye bestie, go make those object files make sense πŸ’–βœ¨

πŸ“¦ where this page comes from