LLVM-OBJDUMP(1)
π NAME π
llvm-objdump β bestie's manual page for llvm-objdump 16 β¨
πΈ DESCRIPTION πΈ
π¦ OVERVIEW
llvm object file dumper β okay so basically it's the tool that opens up object files and shows you everything inside, like a little x-ray for your binaries. iconic behavior honestly π₯
π USAGE
llvm-objdump [options] <input object files>
β¨ OPTIONS β¨
--adjust-vma=offsetβ bumps up every displayed address by the offset you give it π--all-headersβ shows you literally every header there is, plus the relocation entries and the symbol table. the full tour, no skips π--arch-name=<value>β which target arch to disassemble for. run--versionto see what targets you even have available π―--archive-headersβ prints out the archive header info-aβ alias for--archive-headers--build-id=<hex>β the Build ID you're hunting for. once it's found, it gets added as an input file π-Cβ alias for--demangle--debug-file-directory=<dir>β the directory path where it should go looking for debug files--debug-vars-indent=<value>β how far to indent the source-level variable display, measured from the start of the disassembly--debug-vars=<value>β prints where source-level variables actually live (in registers or memory) right alongside the disassembly. supported formats:ascii,unicode(that one's the default) π--debuginfodβ use debuginfod to go find debug files--demangleβ unmangles those cursed symbol names so you can actually read them--disassemble-allβ disassembles every section it finds in the input files, no mercy--disassemble-symbols=<value>β a list of symbols to disassemble. if--demangleis on, you can pass demangled names, otherwise it's mangled names only π«Ά--disassemble-zeroesβ do not skip over blocks of zeroes while disassembling--disassembler-options=optionsβ pass along target-specific disassembler options--disassembleβ disassembles all the executable sections found in the input files--dwarf=<value>β dumps the DWARF debug sections you name. the only supported value isframes--dynamic-relocβ shows the dynamic relocation entries in the file--dynamic-symsβ shows what's inside the dynamic symbol table-Dβ alias for--disassemble-all-dβ alias for--disassemble--fault-map-sectionβ prints the content of the fault map section--file-headersβ prints the contents of the overall file header--full-contentsβ prints the content of each and every section-fβ alias for--file-headers--headersβ alias for--section-headers--helpβ shows you the available options (there's--help-hiddenif you want even more π)-hβ alias for--section-headers-j <value>β alias for--section--line-numbersβ while disassembling, shows the 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 (--mattr=helpfor the details)--mcpu=cpu-nameβ target a specific cpu type (--mcpu=helpfor the details)-M <value>β alias for--disassembler-options=-mβ alias for--macho--no-addressesβ alias for--no-leading-addr--no-debuginfodβ do not use debuginfod to find debug files--no-leading-addrβ while disassembling, don't print the leading addresses for instructions or inline relocations--no-print-imm-hexβ do not use hex format for immediate values--no-show-raw-insnβ while disassembling instructions, don't print the instruction bytes.--offloadingβ shows the content of the offloading section--prefix-strip=prefixβ strips out the initial directories from absolute paths. does nothing at all without--prefix--prefix=prefixβ adds a prefix to absolute paths--print-imm-hexβ use hex format for immediate values (this is the default β¨)--private-headersβ shows format-specific file headers-pβ alias for--private-headers--raw-clang-astβ dumps the raw binary contents of the clang AST section--relocβ shows the relocation entries in the file-Rβ alias for--dynamic-reloc-rβ alias for--reloc--section-headersβ shows summaries of the headers for each section.--section=<value>β only operate on the sections you specify. with--macho, dumpsegment,section--show-all-symbolsβ show every symbol during disassembly, even when multiple symbols are defined at the same location π―--show-lmaβ shows the LMA column when dumping ELF section headers--sourceβ while disassembling, shows the source interleaved with the disassembly. implies--disassemble--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 a symbol description for disassembly. this option is for XCOFF files only.--symbolize-operandsβ symbolizes instruction operands while disassembling--symsβ shows the symbol table-Sβ alias for--source-sβ alias for--full-contents--triple=<value>β target triple to disassemble for, see--versionfor available targets-Tβ alias for--dynamic-syms-tβ alias for--syms--unwind-infoβ shows unwind information-uβ alias for--unwind-info--versionβ shows the version of this program-vβ alias for--version--wideβ ignored, for compatibility with GNU objdump (it's giving "we keep it around for the vibes") π--x86-asm-syntax=attβ emits AT&T-style disassembly--x86-asm-syntax=intelβ emits Intel-style disassembly-xβ alias for--all-headers-zβ alias for--disassemble-zeroes
π llvm-objdump MachO Specific Options π
--arch=<value>β architecture(s) from a Mach-O file to dump--archive-member-offsetsβ prints the offset to each archive member for Mach-O archives (requires--machoand--archive-headers)--bindβ display mach-o binding info--chained-fixupsβ prints chained fixup information (requires--macho)--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 the.dSYMfile for debug info--dyld-infoβ prints bind and rebase information used by dyld to resolve external references in a final linked binary (requires--macho)--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β prints the full leading address--function-starts=<value>β prints the function starts table for Mach-O objects. options:addrs(default),names,both(requires--macho)-gβ prints line information from debug info if it's 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β prints no leading headers--no-symbolic-operandsβ do not symbolic operands when disassembling (requires--macho)--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β display only the first format specific file header--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
π one more thing bestie: pass@FILEas an argument to read options fromFILE. yes, that's literally it, it's so cute π
okay that's the whole page, you ate that fr fr π
β¨ this was llvm-objdump 16, dated April 2024 β go forth and dump some objects, main character π¦ππ
π¦ 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