LLVM-READELF(1)
β¨ llvm-readelf β¨
okay bestie, so this is llvm-readelf from the LLVM fam β it's the GNU-style LLVM object reader, and it's literally the main character of "what is even inside this object file" π
πΈ SYNOPSIS πΈ
llvm-readelf [options] [inputβ¦]
π¦ DESCRIPTION π¦
So llvm-readelf shows you all the low-level, format-specific deets about one or more object files. It's giving x-ray vision into your binaries, no cap π
If input is -, then llvm-readelf reads from standard input. Otherwise it reads from the filenames you gave it. Simple as that π«Ά
π OPTIONS π
--all,-aβ same as turning on all the main display options that are relevant to the file format. basically "give me everything" energy β¨--addrsigβ shows the address-significance table.--arch-specific,-Aβ shows architecture-specific info, like the ARM attributes section on ARM.--bb-addr-mapβ shows the contents of the basic block address map section(s), which contain the address of each function plus the relative offset of each basic block.--demangle,-Cβ displays demangled symbol names in the output π--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. The valid options areLLVM,GNU, andJSON.LLVMoutput is an expanded and structured format.GNU(which is the default) output mimics the equivalent GNUreadelfoutput.JSONis JSON formatted output intended for machine consumption π€--section-groups,-gβ shows section groups.--expand-relocsβ when you use it with--relocations, it displays 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β displays a summary of 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.--needed-libsβ shows the needed libraries.--no-demangleβ do not display demangled symbol names in the output. This is on by default.--notes,-nβ shows all notes π--pretty-printβ when used with--elf-output-style, theJSONoutput gets formatted in a more readable format.--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, it displays section data for each section shown. Heads up: this option has no effect for GNU style output.--section-details,-tβ shows all section details. It's used as an alternative to--sections.--section-mappingβ shows the section to segment mapping.--section-relocationsβ when used with--sections, it displays relocations for each section shown. Also no effect for GNU style output, fyi.--section-symbolsβ when used with--sections, it displays 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 this one's only implemented for GNU style output π«--string-dump=<section[,section,...]>,-pβ shows the specified section(s) as a list of strings.sectioncan be a section index or a section name.--symbols,--syms,-sβ shows the symbol table. It also displays the dynamic symbol table when you're using GNU output style for ELF.--unwind,-uβ shows unwind information.--versionβ displays the version of thellvm-readelfexecutable.--version-info,-Vβ shows version sections.--wide,-Wβ ignored, for GNUreadelfcompatibility. The output is already similar to when you use-Wwith GNUreadelf.@<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. (so like, if it's not 0, something went wrong β check it π)
π SEE ALSO π
llvm-nm(1), llvm-objdump(1), llvm-readobj(1)
π AUTHOR π
Maintained by the LLVM Team (https://llvm.org/).
π COPYRIGHT π
2003-2023, LLVM Project
okay that's the whole page bestie, you're officially llvm-readelf-pilled π β¨
sign-off vibes: this one's page 15 of the manual, dated 2023-07-14, and the tool itself is LLVM-READELF(1) from the LLVM suite β go read some object files, you got this ππ¦π
π¦ where this page comes from
- ubuntu jammy: llvm-15 1:15.0.7-0ubuntu0.22.04.3 Β· 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