LLVM-READELF(1)
π LLVM-READELF π
okay bestie, so this is llvm-readelf, aka the GNU-style LLVM Object Reader. it's the little icon that lives in the LLVM manual pages π and it's here to spill all the lowkey format-specific tea about your object files.
β¨ SYNOPSIS β¨
llvm-readelf [options] [inputβ¦]
π¦ DESCRIPTION π¦
llvm-readelf shows you low-level, format-specific information about one or more object files. it's giving x-ray vision, honestly π₯
if an input is -, llvm-readelf reads from standard input instead. otherwise it reads from the filenames you handed it, one by one. simple as that π
π OPTIONS π
--all,-aβ the "give me everything" button. equivalent to specifying all the main display options that are relevant to the file format. no cap, it's a lot.--addrsigβ display the address-significance table β¨--arch-specific,-Aβ display architecture-specific info. like, for example, the ARM attributes section on ARM π§--bb-addr-mapβ display the contents of the basic block address map section(s). those hold the address of each function plus the relative offset of each basic block πΊοΈ--demangle,-Cβ display demangled symbol names in the output. let those names breathe, bestie π«Ά--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. we love a distribution moment π--elf-linker-optionsβ display the linker options section π--elf-output-style=<value>β format the ELF info in the style you want. valid options 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 machine consumption π€--section-groups,-gβ display section groups π«--expand-relocsβ when you use it with--relocations, each relocation gets displayed 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--sectionsall at once. combo move π―--helpβ display a summary of command line options. the classic π--hex-dump=<section[,section,...]>,-xβ display the specified section(s) as hexadecimal bytes. section can be a section index or a section name π’--needed-libsβ display the needed libraries π§©--no-demangleβ do not display demangled symbol names in the output. this one is on by default.--notes,-nβ display all notes ποΈ--pretty-printβ when you use it with--elf-output-style, the JSON output gets formatted in a more readable way. aesthetic β¨--program-headers,--segments,-lβ display the program headers π--raw-relrβ do not decode relocations in RELR relocation sections when displaying them π--relocations,--relocs,-rβ display the relocation entries in the file π--sections,--section-headers,-Sβ display all sections π§±--section-dataβ when you use it with--sections, display section data for each section shown. heads up: 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 you use it with--sections, display relocations for each section shown. again: no effect for GNU style output π--section-symbolsβ when you use it with--sections, display symbols for each section shown. and yes, same deal: 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 can be a section index or a section name π€--symbols,--syms,-sβ display the symbol table. it also displays the dynamic symbol table when you're using GNU output style for ELF π--unwind,-uβ display unwind information π--versionβ display the version of thellvm-readelfexecutable π·οΈ--version-info,-Vβ display version sections π--wide,-Wβ ignored, for GNU readelf compatibility. the output is already similar to what you'd get using-Wwith GNU readelf, so like, it's fine bestie π@<FILE>β read 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. so if you see a non-zero, something went wrong, fr fr π
π SEE ALSO π
llvm-nm(1), llvm-objdump(1), llvm-readobj(1) β go read those too, iykyk π
π AUTHOR π
maintained by the LLVM Team (https://llvm.org/). they're the main characters, honestly π«Ά
π COPYRIGHT π
2003-2024, LLVM Project
and that's the whole vibe check, bestie!! this page is from the LLVM manual, version15, dated2024-04-14β¨ slay, go read some object files, periodt π πΈ
π¦ where this page comes from
- ubuntu noble: llvm-16 1:16.0.6-23ubuntu4 Β· APACHE-2-LLVM-EXCEPTIONS
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms