LLVM-READOBJ(1)
π llvm-readobj β the manual, but make it make sense
okay so bestie, welcome to llvm-readobj(1) β the LLVM Object Reader, aka the girl who looks inside your object files and tells you everything. This is part of the LLVM fam (manual name: she's the LLVM manual page, periodt).
β¨ SYNOPSIS β¨
llvm-readobj [options] [input...]
That's it, that's the whole vibe. Options, then a bunch of input files, slay.
π¦ DESCRIPTION π¦
so like β llvm-readobj displays low-level format-specific information about one or more object files. She's not doing vibes-based summaries, she's giving you the raw, format-specific tea π₯.
And if input is -, she reads from standard input instead. Otherwise? She reads from the specified filenames. Easy. iykyk.
πΈ DIFFERENCES TO LLVM-READELF πΈ
okay so this is important: llvm-readelf is literally an alias for the llvm-readobj tool, just with a slightly different command-line interface and output that's GNU compatible. Same girl, different outfit π
.
Here's the full list of differences, no skipping:
llvm-readelfusesGNUfor the--elf-output-styleoption by default.llvm-readobjusesLLVM.llvm-readelfallows single-letter grouped flags (e.g.llvm-readelf -SWis the same asllvm-readelf -S -W).llvm-readobjdoes not allow grouping. rude but ok.llvm-readelfprovides-sas an alias for--symbols, for GNUreadelfcompatibility, whereas it's an alias for--section-headersinllvm-readobj. yes this is confusing bestie, I know πllvm-readobjprovides-tas an alias for--symbols.llvm-readelfdoes not.llvm-readobjprovides--sr,--sd,--stand--dtas aliases for--section-relocations,--section-data,--section-symbolsand--dyn-symbolsrespectively.llvm-readelfdoes not provide these aliases, to avoid conflicting with grouped flags. iconic conflict-avoidance tbh.
π GENERAL AND MULTI-FORMAT OPTIONS π
these options are applicable to more than one file format, or are unrelated to file formats entirely. the versatile queens β¨
--addrsigβ display the address-significance table. cute.--allβ equivalent to specifying all the main display options relevant to the file format. she's giving main character energy, she does it all π«Ά--decompress,-zβ dump decompressed section content when used with-xor-p. If the section(s) are not compressed, they're displayed as is. no drama.--demangle,-Cβ display demangled symbol names in the output. β οΈ this option is only for ELF and XCOFF file formats.--expand-relocsβ when used with--relocs, display each relocation in an expanded multi-line format. she's spreading out, she needs space π¦--file-header,-hβ display file headers.--headers,-eβ equivalent to setting:--file-header,--program-headers, and--sections. a bundle deal, we love a combo π--helpβ display a summary of command line options. when in doubt, ask her.--hex-dump=<section[,section,...]>,-xβ display the specified section(s) as hexadecimal bytes. section may be a section index or section name.--needed-libsβ display the needed libraries.--no-demangleβ do not demangle symbol names in the output. only for ELF and XCOFF file formats. β¨ the option is enabled by default β¨ (yes, this one, the no-version β that's the default. don't think about it too hard).--offloadingβ display list of HIP offload bundles.--relocations,--relocs,-rβ display the relocation entries in the file.--section-data,--sdβ when used with--sections, display section data for each section shown. β οΈ this option has no effect for GNU style output.--section-relocations,--srβ when used with--sections, display relocations for each section shown. β οΈ no effect for GNU style output.--sections,--section-headers,-Sβ display all sections. all of them. every single one.--section-symbols,--stβ when used with--sections, display symbols for each section shown. β οΈ no effect for GNU style output.--sort-symbols=<sort_key[,sort_key]>β specify the keys to sort symbols before displaying symtab. Valid values for sort_key arenameandtype. organize her, she loves it π--stackmapβ display contents of the stackmap section.--string-dump=<section[,section,...]>,-pβ display the specified section(s) as a list of strings. section may be a section index or section name.--string-tableβ display contents of the string table.--symbols,--syms,-sβ display the symbol table.--unwind,-uβ display unwind information.--versionβ display the version of thellvm-readobjexecutable.@<FILE>β read command-line options from response file <FILE>.
π ELF SPECIFIC OPTIONS π
the following options are implemented only for the ELF file format. ELF girlies rise π
--arch-specific,-Aβ display architecture-specific information, e.g. the ARM attributes section on ARM.--bb-addr-mapβ display the contents of the basic block address map section(s), which contain the address of each function, along with the relative offset of each basic block.
When pgo analysis maps are present, all analyses are printed as their raw value.
--call-graph-infoβ display the call graph section entries i.e. for each function its identifying information, each of its direct callees' information and for each indirect callee a 64-bit number representing the callee's function signature. This information can be used to reconstruct the program call graph. literally a whole family tree π--cg-profileβ display the callgraph profile section.--dependent-librariesβ display the dependent libraries section.--dynamic-table,--dynamic,-dβ display the dynamic table.--dyn-relocationsβ display the dynamic relocation entries.--dyn-symbols,--dyn-syms,--dtβ display the dynamic symbol table.--elf-linker-optionsβ display the linker options section.--elf-output-style=<value>β format ELF information in the specified style. Valid options areLLVM,GNU, andJSON.LLVMoutput (the default) is an expanded and structured format.GNUoutput mimics the equivalent GNUreadelfoutput.JSONis JSON formatted output intended for machine consumption. pick your aesthetic bestie π--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.--histogram,-Iβ display a bucket list histogram for dynamic symbol hash tables.--memtagβ display information about memory tagging present in the binary. This includes various dynamic entries, decoded global descriptor sections, and decoded Android-specific ELF notes. very demure, very mindful π--notes,-nβ display all notes.--pretty-pgo-analysis-mapβ when pgo analysis maps are present in the basic block address map section(s), analyses with special formats (i.e.BlockFrequency,BranchProbability, etc) are printed using the same format as their respective analysis pass.
β οΈ requires --bb-addr-map to have an effect. she's nothing without her girl.
--pretty-printβ when used with--elf-output-style, JSON output will be formatted in a more readable format. glow-up for your JSON β¨--program-headers,--segments,-lβ display the program headers.--section-groups,-gβ display section groups.--section-mappingβ display the section to segment mapping.--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.--version-info,-Vβ display version sections.
π MACH-O SPECIFIC OPTIONS π
the following options are implemented only for the Mach-O file format.
--macho-data-in-codeβ display theData in Codecommand.--macho-dsymtabβ display theDsymtabcommand.--macho-indirect-symbolsβ display indirect symbols.--macho-linker-optionsβ display the Mach-O-specific linker options.--macho-segmentβ display theSegmentcommand.--macho-version-minβ display the version min command.
π§ PE/COFF SPECIFIC OPTIONS π§
the following options are implemented only for the PE/COFF file format.
--codeviewβ display CodeView debug information.--codeview-ghashβ enable global hashing for CodeView type stream de-duplication.--codeview-merged-typesβ display the merged CodeView type stream.--codeview-subsection-bytesβ dump raw contents of CodeView debug sections and records.--coff-baserelocβ display the.relocsection.--coff-debug-directoryβ display the debug directory.--coff-directivesβ display the.drectvesection.--coff-exportsβ display the export table.--coff-importsβ display the import table.--coff-load-configβ display the load config.--coff-resourcesβ display the.rsrcsection.--coff-tls-directoryβ display the TLS directory.
β XCOFF SPECIFIC OPTIONS β
the following options are implemented only for the XCOFF file format.
--auxiliary-headerβ display XCOFF Auxiliary header.--exception-sectionβ display XCOFF exception section entries.--loader-section-headerβ display XCOFF loader section header.--loader-section-relocationsβ display relocation entries of loader section.--loader-section-symbolsβ display symbol table of loader section.
π EXIT STATUS π
llvm-readobj returns 0 under normal operation. She returns a non-zero exit code if there were any errors. so if she's giving you a number that isn't zero, something's wrong bestie, go check π
π«Ά SEE ALSO π«Ά
llvm-nm(1), llvm-objdump(1), llvm-readelf(1) β go read those too, she'd want that for you.
π AUTHOR π
Maintained by the LLVM Team (https://llvm.org/). kings.
π COPYRIGHT π
2003-2026, LLVM Project
and that's the whole page bestie π β¨
β¨ cute little sign-off: this masterpiece is from the LLVM source, dated 2026-10-06, and the original page number was 23 β she's been around a while, and she ate every single time π₯π
no cap, go read some object files π¦
π¦ where this page comes from
- centos-stream 9: llvm 23.1.3-1.el9 Β· Apache-2.0 WITH LLVM-exception OR NCSA
- centos-stream 9: llvm 23.1.3-1.el9 Β· 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