LLVM-READELF(1)
๐ LLVM-READELF(1) ๐
okay so bestie, this is a page from the LLVM manual set โ yes, that LLVM โ and it's all about llvm-readelf, the GNU-style object reader. pull up a chair, we're getting into it ๐ซถ
โจ NAME โจ
llvm-readelf โ the GNU-style LLVM object reader, aka the lil tool that spills the tea on your object files ๐
๐ธ SYNOPSIS ๐ธ
llvm-readelf [options] [input...]
๐ฆ DESCRIPTION ๐ฆ
so llvm-readelf shows you low-level, format-specific info about one or more object files. it's giving x-ray vision for binaries, no cap ๐ฅ
and if input is -, it reads from standard input. otherwise? it reads from the filenames you gave it, periodt.
๐ OPTIONS ๐
--all,-aโ literally the "give me everything" option: same as spelling out all the main display options that are relevant to whatever file format you're looking at ๐--addrsigโ shows the address-significance table โจ--arch-specific,-Aโ shows architecture-specific info, like the ARM attributes section on ARM ๐ฆ--bb-addr-mapโ shows what's inside the basic block address map section(s) โ those contain the address of each function plus the relative offset of each basic block ๐--decompress,-zโ dumps the decompressed section content when you use it with-xor-p. if the section(s) weren't compressed in the first place, they just get displayed as-is, no drama ๐--demangle,-Cโ shows demangled symbol names in the output (the readable ones, bestie ๐)--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 picked. valid values areLLVM,GNU, andJSON.LLVMis an expanded, structured format.GNU(which is the default) mimics the equivalent GNU readelf output.JSONis JSON formatted output, intended for machines to consume ๐ค--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 ๐--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 ๐ฅ--helpโ shows a summary of the command line options ๐--hex-dump=<section[,section,...]>,-xโ shows the specified section(s) as hexadecimal bytes.sectioncan be a section index or a section name ๐ค--memtagโ shows 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 ๐ท๏ธ--needed-libsโ shows the needed libraries ๐--no-demangleโ does not show demangled symbol names in the output. on by default ๐--notes,-nโ shows all notes ๐--pretty-printโ when used with--elf-output-style, the JSON output gets formatted in a more readable way ๐--program-headers,--segments,-lโ shows the program headers ๐งฉ--raw-relrโ does not decode relocations in RELR relocation sections when displaying them ๐ชจ--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. and again: no effect for GNU style output โ ๏ธ--stackmapโ shows the 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. ngl, currently only implemented for GNU style output ๐ซถ--string-dump=<section[,section,...]>,-pโ shows the specified section(s) as a list of strings.sectionmay be a section index or a section name ๐งต--symbols,--syms,-sโ shows the symbol table. it 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 ๐@<FILE>โ reads command-line options from the response file<FILE>๐
โญ EXIT STATUS โญ
llvm-readelf returns 0 under normal operation. it returns a non-zero exit code if there were any errors ๐ญ
๐ฅ 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/) โ icons, the whole squad ๐ซถ
๐ Copyright ๐
2003-2026, LLVM Project
and that's the whole page, bestie ๐ version 15, dated 2026-09-09, filed under LLVM-READELF(1) โ go forth and read those ELF files, you absolute icon ๐โจ
๐ฆ where this page comes from
- ubuntu stonking: llvm-18 1:18.1.8-20ubuntu11 ยท APACHE-2-LLVM-EXCEPTIONS
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms