LLVM-READELF(1)

πŸ’– LLVM-READELF(1) πŸ’–

okay bestie, welcome to the llvm-readelf page β€” she lives in the LLVM manual set and she's literally the GNU-style LLVM Object Reader ✨


✨ SYNOPSIS ✨

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

πŸ¦‹ DESCRIPTION πŸ¦‹

so basically, llvm-readelf spills all the low-level, format-specific tea about one or more object files. like, the actual guts. the lore. πŸ”

if input is -, then llvm-readelf reads from standard input. otherwise? she reads from the filenames you gave her, one by one, no cap. 🫢


πŸŽ€ OPTIONS πŸŽ€

  • --all, -a β€” the "give me everything" button πŸ’… equivalent to specifying all the main display options relevant to the file format.
  • --addrsig β€” shows the address-significance table. ✨
  • --arch-specific, -A β€” shows architecture-specific info, e.g. the ARM attributes section on ARM. iykyk 🧚
  • --bb-addr-map β€” dumps the contents of the basic block address map section(s), which hold the address of each function plus the relative offset of each basic block. iconic πŸ”₯
  • --decompress, -z β€” dumps decompressed section content when used with -x or -p. if the section(s) aren't compressed, they're just displayed as-is. no drama πŸ’œ
  • --demangle, -C β€” displays demangled symbol names in the output. so your eyes don't have to suffer 😭
  • --dependent-libraries β€” displays the dependent libraries section. πŸ“
  • --dyn-relocations β€” displays the dynamic relocation entries. ✨
  • --dyn-symbols, --dyn-syms β€” displays the dynamic symbol table. πŸ¦‹
  • --dynamic-table, --dynamic, -d β€” displays the dynamic table. πŸ’…
  • --cg-profile β€” displays the callgraph profile section. πŸ‘‘
  • --histogram, -I β€” displays a bucket list histogram for dynamic symbol hash tables. stats queen πŸ“Š
  • --elf-linker-options β€” displays the linker options section. 🌸
  • --elf-output-style=<value> β€” formats ELF info in the style you picked. valid options are LLVM, GNU, and JSON. LLVM output is an expanded and structured format. GNU (the default) mimics the equivalent GNU readelf output. JSON is JSON-formatted output intended for machine consumption. pick your fighter ✨
  • --extra-sym-info β€” displays extra info (the section name) when showing symbols. the more you know πŸ’–
  • --section-groups, -g β€” displays section groups. πŸŽ€
  • --expand-relocs β€” when used with --relocations, displays each relocation in an expanded multi-line format. give her room to breathe 🌬️
  • --file-header, -h β€” displays file headers. πŸ“„
  • --gnu-hash-table β€” displays the GNU hash table for dynamic symbols. 🧚
  • --hash-symbols β€” displays the expanded hash table with dynamic symbol data. πŸ”
  • --hash-table β€” displays the hash table for dynamic symbols. πŸ’…
  • --headers, -e β€” equivalent to setting: --file-header, --program-headers, and --sections. the trio, periodt πŸ‘‘
  • --help β€” displays a summary of command line options. when you're lost, she's there 🫢
  • --hex-dump=<section[,section,...]>, -x β€” displays the specified section(s) as hexadecimal bytes. section may be a section index</u> or a section name. πŸ”’
  • --memtag β€” displays info about memory tagging present in the binary. this includes various memtag-specific dynamic entries, decoded global descriptor sections, and decoded Android-specific ELF notes. very specific, very slay ✨
  • --needed-libs β€” displays the needed libraries. πŸ“
  • --no-demangle β€” do not display demangled symbol names in the output. on by default. so mangled it stays, bestie 😌
  • --notes, -n β€” displays all notes. πŸ“
  • --offloading β€” displays the list of HIP offload bundles. 🌈
  • --pretty-print β€” when used with --elf-output-style, the JSON output gets formatted in a more readable format. glow-up for your JSON πŸ’–
  • --program-headers, --segments, -l β€” displays the program headers. πŸŽ€
  • --relocations, --relocs, -r β€” displays the relocation entries in the file. πŸ”₯
  • --sections, --section-headers, -S β€” displays all sections. πŸ‘‘
  • --section-data β€” when used with --sections, displays section data for each section shown. this option has no effect for GNU style output. 🚫
  • --section-details, -t β€” displays all section details. used as an alternative to --sections. πŸ’…
  • --section-mapping β€” displays the section to segment mapping. πŸ—ΊοΈ
  • --section-relocations β€” when used with --sections, displays relocations for each section shown. this option has no effect for GNU style output. 🚫
  • --section-symbols β€” when used with --sections, displays symbols for each section shown. this option has no effect for GNU style output. 🚫
  • --stackmap β€” displays the contents of the stackmap section. πŸ“š
  • --stack-sizes β€” displays 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 β€” displays the specified section(s) as a list of strings. section may be a section index or a section name. 🧡
  • --symbols, --syms, -s β€” displays the symbol table. also displays the dynamic symbol table when using GNU output style for ELF. two for one, we love to see it πŸ’–
  • --unwind, -u β€” displays unwind information. πŸŒ€
  • --version β€” displays the version of the llvm-readelf executable. 🏷️
  • --version-info, -V β€” displays version sections. 🌸
  • --wide, -W β€” ignored for GNU readelf compatibility. the output is already similar to when using -W with GNU readelf. nothing to do here, she's already that girl πŸ’…
  • @<FILE> β€” reads command-line options from the response file <FILE>. πŸ“

🌈 EXIT STATUS 🌈

llvm-readelf returns 0 under normal operation. she returns a non-zero exit code if there were any errors. 😭


πŸ‘‘ SEE ALSO πŸ‘‘


πŸ’œ Author πŸ’œ

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

2003-2026, LLVM Project


and that's the whole page, bestie ✨ this one's from the LLVM manual set, version 22, dated 2026-07-16 β€” go read some object files, you absolute icon πŸ’…πŸ’–

πŸ“¦ where this page comes from