LLVM-READELF(1)
π llvm-readelf β the GNU-style LLVM Object Reader β¨
okay so bestie, welcome to llvm-readelf, straight out of the LLVM manual (that's the manual name btw, it lives in section 1 of the LLVM docs π). Think of it as the group chat where your object files come spill the tea about themselves β low-level, format-specific, extremely detailed tea. π
πΈ SYNOPSIS πΈ
llvm-readelf [options] [input...]
β¨ DESCRIPTION β¨
llvm-readelf shows you low-level, format-specific info about one or more object files. It's giving "tell me everything about yourself" energy, and honestly? It ate. π
If input is -, llvm-readelf reads from standard input. Otherwise it reads from the filenames you gave it. no cap, that's the whole vibe check.
π OPTIONS π
--all,-aβ literally the "give me everything" button. Same as specifying all the main display options that are relevant to the file format. main character energy fr fr.--addrsigβ shows the address-significance table. iconic.--arch-specific,-Aβ shows architecture-specific info, like the ARM attributes section on ARM. iykyk.--bb-addr-mapβ dumps the contents of the basic block address map section(s) β those contain the address of each function plus the relative offset of each basic block. πΊοΈ--decompress,-zβ when used with-xor-p, dumps decompressed section content. if the section(s) aren't compressed, they just get displayed as-is. no drama.--demangle,-Cβ shows demangled symbol names in the output. the way that_ZN3foo3barEvturns into something readableβ¦ obsessed.--dependent-librariesβ shows the dependent libraries section.--dyn-relocationsβ shows the dynamic relocation entries.--dyn-symbols,--dyn-symsβ shows the dynamic symbol table.--dynamic-table,--dynamic,-dβ shows the dynamic table.--cg-profileβ shows the callgraph profile section.--histogram,-Iβ shows a bucket list histogram for dynamic symbol hash tables. π--elf-linker-optionsβ shows the linker options section.--elf-output-style=<value>β formats ELF info in the style you pick. valid values areLLVM,GNU, andJSON.LLVMoutput is an expanded and structured format.GNU(that's the default, btw) mimics the equivalent GNU readelf output.JSONis JSON formatted output intended for machine consumption. robot bestie food π€--extra-sym-infoβ shows extra info (the section name) when showing symbols.--section-groups,-gβ shows section groups.--expand-relocsβ when used with--relocations, shows each relocation in an expanded multi-line format. room to breathe β¨--file-header,-hβ shows file headers.--gnu-hash-tableβ shows the GNU hash table for dynamic symbols.--hash-symbolsβ shows the expanded hash table with dynamic symbol data.--hash-tableβ shows the hash table for dynamic symbols.--headers,-eβ same as setting--file-header,--program-headers, and--sectionsall at once. combo move π«Ά--helpβ shows a summary of command line options.--hex-dump=<section[,section,...]>,-xβ shows the specified section(s) as hexadecimal bytes. section can be a section index or a section name.--memtagβ shows info about memory tagging present in the binary. that includes various memtag-specific dynamic entries, decoded global descriptor sections, and decoded Android-specific ELF notes. π·οΈ--needed-libsβ shows the needed libraries.--no-demangleβ don't show demangled symbol names in the output. this one's on by default.--notes,-nβ shows all notes. π--pretty-printβ when used with--elf-output-style, JSON output gets formatted in a more readable way. self-care for your eyeballs.--program-headers,--segments,-lβ shows the program headers.--relocations,--relocs,-rβ shows the relocation entries in the file.--sections,--section-headers,-Sβ shows all sections.--section-dataβ when used with--sections, shows section data for each section shown. heads up: this option has no effect for GNU style output. π--section-details,-tβ shows all section details. used as an alternative to--sections.--section-mappingβ shows the section to segment mapping.--section-relocationsβ when used with--sections, shows relocations for each section shown. again: no effect for GNU style output.--section-symbolsβ when used with--sections, shows symbols for each section shown. same deal: no effect for GNU style output.--stackmapβ shows contents of the stackmap section.--stack-sizesβ shows 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β shows the specified section(s) as a list of strings. section can be a section index or a section name.--symbols,--syms,-sβ shows the symbol table. also shows the dynamic symbol table when you're using GNU output style for ELF.--unwind,-uβ shows unwind information.--versionβ shows the version of thellvm-readelfexecutable.--version-info,-Vβ shows version sections.--wide,-Wβ ignored, for GNU readelf compatibility. the output is already similar to when you use-Wwith GNU readelf. so yeah, it's just there to be polite π@<FILE>β reads command-line options from the response file <FILE>.
π₯ EXIT STATUS π₯
llvm-readelf returns 0 under normal operation. if there were any errors, it returns a non-zero exit code. so if you see a zero, you're slaying; anything else, go check your vibes. π
π¦ SEE ALSO π¦
llvm-nm(1)<llvm-nm.html>llvm-objdump(1)<llvm-objdump.html>llvm-readobj(1)<llvm-readobj.html>
π Author
Maintained by the LLVM Team (https://llvm.org/). absolute icons.
π Copyright
2003-2026, LLVM Project
and that's the whole page, bestie β brought to you by the LLVM Project, 2003-2026, dated 2026-05-15, page 21 of the LLVM manual set. mwah πβ¨
π¦ where this page comes from
- fedora 44: llvm21 21.1.8-5.fc44 Β· Apache-2.0 WITH LLVM-exception OR NCSA
- fedora 44: llvm21 21.1.8-5.fc44 Β· Apache-2.0 WITH LLVM-exception OR NCSA
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms