LLVM-READOBJ(1)
π llvm-readobj β the manual page, but make it cute
okay bestie, welcome to llvm-readobj(1) from the LLVM suite β¨ this is the tool that spills ALL the low-level, format-specific tea about your object files. no cap.
π¦ SYNOPSIS
llvm-readobj [options] [inputβ¦]
πΈ DESCRIPTION
so basically, llvm-readobj shows you low-level format-specific information about one or more object files. it's giving x-ray vision for binaries π
and if an input is literally just -, then llvm-readobj reads from standard input instead. otherwise? it reads from the filenames you gave it. simple as that, periodt.
π DIFFERENCES TO LLVM-READELF
okay so llvm-readelf is literally an alias for the llvm-readobj tool, except it has a slightly different command-line interface and its output is GNU compatible. here's the full rundown of how they differ, bestie, don't skip:
llvm-readelfusesGNUfor the--elf-output-styleoption by default.llvm-readobjusesLLVM. different defaults, different vibes.llvm-readelfallows single-letter grouped flags (like,llvm-readelf -SWis the same asllvm-readelf -S -W).llvm-readobjdoes not allow grouping. no grouping for you πllvm-readelfgives you-sas an alias for--symbols, for GNU readelf compatibility β whereas inllvm-readobj,-sis an alias for--section-headers. yes this is chaotic, yes it's real.llvm-readobjprovides-tas an alias for--symbols.llvm-readelfdoes not. (llvm-readobj stays winning π )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. it's a whole thing.
β¨ GENERAL AND MULTI-FORMAT OPTIONS
these options apply to more than one file format, or honestly they're just not about file formats at all. universal icons π«Ά
--allβ equivalent to specifying all the main display options relevant to the file format. literally the "give me everything" button.--addrsigβ displays the address-significance table. slay.--expand-relocsβ when used with--relocs, displays each relocation in an expanded multi-line format. roomier, more readable, we love.--file-header,-hβ displays file headers.--headers,-eβ equivalent to setting:--file-header,--program-headers, and--sections. a little combo meal π--helpβ displays a summary of command line options. your friendly lil cheat sheet.--hex-dump=<section[,section,...]>,-xβ displays the specified section(s) as hexadecimal bytes. section may be a section index or a section name.--needed-libsβ displays the needed libraries.--relocations,--relocs,-rβ displays the relocation entries in the file.--sections,--section-headers,-Sβ displays all sections.--section-data,--sdβ when used with--sections, displays section data for each section shown. this option has no effect for GNU style output.--section-relocations,--srβ when used with--sections, displays relocations for each section shown. this option has no effect for GNU style output.--section-symbols,--stβ when used with--sections, displays symbols for each section shown. this option has no effect for GNU style output.--stackmapβ displays contents of the stackmap section.--string-dump=<section[,section,...]>,-pβ displays the specified section(s) as a list of strings. section may be a section index or a section name.--string-tableβ displays contents of the string table.--symbols,--syms,-sβ displays the symbol table.--unwind,-uβ displays unwind information.--versionβ displays the version of thellvm-readobjexecutable. main character energy.@<FILE>β read command-line options from response file<FILE>. yes, files feeding files, it's giving inception π
π§ ELF SPECIFIC OPTIONS
these ones are implemented only for the ELF file format. elf girlies rise π
--arch-specific,-Aβ displays architecture-specific information, e.g. the ARM attributes section on ARM.--bb-addr-mapβ displays 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.--demangle,-Cβ displays demangled symbol names in the output. no more cryptic name soup π--dependent-librariesβ displays the dependent libraries section.--dyn-relocationsβ displays the dynamic relocation entries.--dyn-symbols,--dyn-syms,--dtβ displays the dynamic symbol table.--dynamic-table,--dynamic,-dβ displays the dynamic table.--cg-profileβ displays the callgraph profile section.--histogram,-Iβ displays a bucket list histogram for dynamic symbol hash tables.--elf-linker-optionsβ displays the linker options section.--elf-output-style=<value>β formats ELF information in the specified style. valid options areLLVM,GNU, andJSON.LLVMoutput (the default) is an expanded and structured format.GNUoutput mimics the equivalent GNU readelf output.JSONis JSON formatted output intended for machine consumption. pick your fighter β¨--section-groups,-gβ displays section groups.--gnu-hash-tableβ displays the GNU hash table for dynamic symbols.--hash-symbolsβ displays the expanded hash table with dynamic symbol data.--hash-tableβ displays the hash table for dynamic symbols.--notes,-nβ displays all notes.--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β displays the program headers.--raw-relrβ do not decode relocations in RELR relocation sections when displaying them.--section-mappingβ displays the section to segment mapping.--stack-sizesβ displays 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β displays version sections.
π MACH-O SPECIFIC OPTIONS
these ones are implemented only for the Mach-O file format.
--macho-data-in-codeβ displays the Data in Code command.--macho-dsymtabβ displays the Dsymtab command.--macho-indirect-symbolsβ displays indirect symbols.--macho-linker-optionsβ displays the Mach-O-specific linker options.--macho-segmentβ displays the Segment command.--macho-version-minβ displays the version min command.
β PE/COFF SPECIFIC OPTIONS
these ones are implemented only for the PE/COFF file format.
--codeviewβ displays CodeView debug information.--codeview-ghashβ enable global hashing for CodeView type stream de-duplication.--codeview-merged-typesβ displays the merged CodeView type stream.--codeview-subsection-bytesβ dump raw contents of CodeView debug sections and records.--coff-baserelocβ displays the.relocsection.--coff-debug-directoryβ displays the debug directory.--coff-tls-directoryβ displays the TLS directory.--coff-directivesβ displays the.drectvesection.--coff-exportsβ displays the export table.--coff-importsβ displays the import table.--coff-load-configβ displays the load config.--coff-resourcesβ displays the.rsrcsection.
π XCOFF SPECIFIC OPTIONS
these ones are implemented only for the XCOFF file format.
--auxiliary-headerβ displays XCOFF Auxiliary header.
π EXIT STATUS
llvm-readobj returns 0 under normal operation. it returns a non-zero exit code if there were any errors. so like, 0 = we ate, non-zero = something went wrong bestie π
π SEE ALSO
llvm-nm(1), llvm-objdump(1), llvm-readelf(1)
go read those too, they're the whole friend group π«Ά
π AUTHOR
maintained by the LLVM Team (https://llvm.org/). iconic behavior, honestly.
π COPYRIGHT
2003-2025, LLVM Project
and that's the whole page, bestie!! β¨ this was LLVM-READOBJ(1), volume 14, dated 2025-05-22, straight from the LLVM source. ty for coming to my ted talk, go read some object files, and remember: keep every flag exactly as written, no cap πππ¦
π¦ where this page comes from
- ubuntu questing: llvm-14 1:14.0.6-20ubuntu3
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms