LLVM-OBJDUMP(1)
π
LLVM-OBJDUMP(1) β the manual page for llvm-objdump, bestie edition π
okay so. welcome to the llvm-objdump manual page, which is genuinely one of the most useful little gremlins in the LLVM toolbox and I'm obsessed. it's a user command, it lives in section 1, and it's about to tell you literally everything about the inside of an object file. grab a snack. π
β¨ NAME β¨
llvm-objdump β manual page for llvm-objdump 14, the iconic little dumper that peers inside your object files and tells you what's up. π
πΈ DESCRIPTION πΈ
OVERVIEW: llvm object file dumper β that's the whole vibe. it dumps object files. that's the job. π
USAGE:
llvm-objdump [options] <input object files>
yeah so you hand it some input object files and some options and it goes to work. no cap.
π¦ OPTIONS: π¦
here's every single flag, bestie, no skipping, no summarising, we are thorough in this household. π
--adjust-vma=offsetβ bumps up the displayed address by the offset you give it. like a little address glow-up. β¨--all-headersβ shows you everything: all available header info, the relocation entries, and the symbol table. the full package. π--arch-name=<value>β the target arch you wanna disassemble for. not sure what's available? check--versionfor the list of targets. π--archive-headersβ displays archive header information. archives get headers too, and they deserve to be seen. π-aβ alias for--archive-headers.-Cβ alias for--demangle.--debug-vars-indent=<value>β how far to indent the source-level variable display, measured relative to the start of the disassembly. aesthetic spacing, basically. π--debug-vars=<value>β prints the locations (in registers or memory, iykyk) of source-level variables right alongside the disassembly. supported formats:ascii,unicode(that one's the default). π--demangleβ demangles symbol names so they stop looking like alphabet soup. π--disassemble-allβ disassembles all sections found in the input files. all of them. every single one. go off. π₯--disassemble-symbols=<value>β a list of symbols to disassemble. if--demangleis specified, it accepts demangled names; otherwise it accepts mangled names. read the room (and the flag). π«Ά--disassemble-zeroesβ don't skip blocks of zeroes when disassembling. zeroes are content too. β--disassembler-options=optionsβ pass through target specific disassembler options. target specific, so it's giving "you had to be there." π«--disassembleβ disassembles all executable sections found in the input files. (note: executable ones only, unlike its chaotic sibling above.) β‘--dwarf=<value>β dumps the specified DWARF debug sections. the only supported value is'frames'. just the one, bestie, don't get creative. π§--dynamic-relocβ displays the dynamic relocation entries in the file.--dynamic-symsβ displays the contents of the dynamic symbol table.-Dβ alias for--disassemble-all.-dβ alias for--disassemble.--fault-map-sectionβ displays the content of the fault map section.--file-headersβ displays the contents of the overall file header. the big one. the main character. π--full-contentsβ displays the content of each section. all the bytes, laid bare. π«£-fβ alias for--file-headers.--headersβ alias for--section-headers.--helpβ display available options (and--help-hiddenif you want more, you absolute completionist). π-hβ alias for--section-headers.-j <value>β alias for--section.--line-numbersβ when disassembling, displays source line numbers. implies--disassemble. π’-lβ alias for--line-numbers.--machoβ use the MachO specific object file parser. π--mattr=a1,+a2,-a3,...β target specific attributes. need details?--mattr=helphas your back. π--mcpu=cpu-nameβ target a specific cpu type. again,--mcpu=helpfor the details.-M <value>β alias for--disassembler-options=.-mβ alias for--macho.--no-leading-addrβ when disassembling, do not print leading addresses. sleek and minimal, lowkey.--no-print-imm-hexβ do not use hex format for immediate values. this is the default. π§--no-show-raw-insnβ when disassembling instructions, do not print the instruction bytes. (yes, there's a period at the end of that one in the original. I'm keeping it. respect the punctuation.) π--prefix-strip=prefixβ strips out initial directories from absolute paths. no effect without--prefix, so don't be shocked when nothing happens.--prefix=prefixβ adds a prefix to absolute paths.--print-imm-hexβ use hex format for immediate values.--private-headersβ displays format specific file headers. π-pβ alias for--private-headers.--raw-clang-astβ dumps the raw binary contents of the clang AST section. raw. unfiltered. feral. πΎ--relocβ displays the relocation entries in the file.-Rβ alias for--dynamic-reloc.-rβ alias for--reloc.--section-headersβ displays summaries of the headers for each section. (period included, it's part of the fit.) β¨--section=<value>β operate on the specified sections only. with--macho, dumpsegment,section. π―--show-lmaβ displays the LMA column when dumping ELF section headers.--sourceβ when disassembling, displays source interleaved with the disassembly. implies--disassemble. the crossover episode we all wanted. πΊ--start-address=addressβ sets the start address for disassembling, printing relocations and printing symbols.--stop-address=addressβ sets the stop address for disassembling, printing relocations and printing symbols. π--symbol-descriptionβ adds symbol description for disassembly. this option is for XCOFF files only, so if you're not in XCOFF land, it's not for you.--symbolize-operandsβ symbolizes instruction operands when disassembling. π«--symsβ displays the symbol table.-Sβ alias for--source.-sβ alias for--full-contents.--triple=<value>β target triple to disassemble for. peep--versionfor the available targets. π-Tβ alias for--dynamic-syms.-tβ alias for--syms.--unwind-infoβ displays unwind information. π-uβ alias for--unwind-info.--versionβ displays the version of this program.-vβ alias for--version.--wideβ ignored, for compatibility with GNU objdump. it's just here to be polite. π--x86-asm-syntax=attβ emit AT&T-style disassembly.--x86-asm-syntax=intelβ emit Intel-style disassembly. pick your fighter. π₯-xβ alias for--all-headers.-zβ alias for--disassemble-zeroes.
π llvm-objdump MachO Specific Options: π
this whole subsection is the Mach-O cinematic universe, bestie. several of these require --macho, and I'm flagging every single one. π©
--arch=<value>β architecture(s) from a Mach-O file to dump. yes, plural, you can be greedy.--archive-member-offsetsβ prints the offset to each archive member for Mach-O archives. requires--machoand--archive-headers. two prerequisites, one flag, commitment. πͺ--bindβ display mach-o binding info.--data-in-codeβ prints the data in code table for Mach-O objects. requires--macho.--dis-symname <value>β disassemble just this symbol's instructions. requires--macho.--dsym=<value>β use a.dSYMfile for debug info. π--dylib-idβ prints the shared library's id for the dylib Mach-O file. requires--macho.--dylibs-usedβ prints the shared libraries used for linked Mach-O files. requires--macho.--exports-trieβ display mach-o exported symbols.--full-leading-addrβ print full leading address. no truncation here. π--function-startsβ prints the function starts table for Mach-O objects. requires--macho.-gβ print line information from debug info if available.--indirect-symbolsβ prints the indirect symbol table for Mach-O objects. requires--macho.--info-plistβ prints the info plist section as strings for Mach-O objects. requires--macho.--lazy-bindβ display mach-o lazy binding info. π΄--link-opt-hintsβ prints the linker optimization hints for Mach-O objects. requires--macho.--no-leading-headersβ print no leading headers.--no-symbolic-operandsβ do not symbolic operands when disassembling. requires--macho. (yes, the wording is a little cursed, I'm reproducing it faithfully, don't @ me. π)--non-verboseβ prints the info for Mach-O objects in non-verbose or numeric form. requires--macho.--objc-meta-dataβ prints the Objective-C runtime meta data for Mach-O files. requires--macho.--private-headerβ displays only the first format specific file header. just the one. singular. β--rebaseβ display mach-o rebasing info.--rpathsβ prints the runtime search paths for the Mach-O file. requires--macho.--universal-headersβ prints Mach-O universal headers. requires--macho.--weak-bindβ display mach-o weak binding info.
π also: pass @FILE as an argument to read options from FILE. cute little indirection, isn't it.
and that's the whole page, bestie!! llvm-objdump 14, dated May 2025 β go forth and dump some object files, you absolute icon. mwah. π β¨ππ¦π
π¦ 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