OBJDUMP(1) GNU Development Tools OBJDUMP(1) (NAME) objdump - (object files) (SYNOPSIS) objdump [-a|--archive-headers] [-b bfdname|--target=bfdname] [-C|--demangle[=style] ] [-d|--disassemble[=symbol]] [-D|--disassemble-all] [-z|--disassemble-zeroes] [-EB|-EL|--endian={big | little }] [-f|--file-headers] [-F|--file-offsets] [--file-start-context] [-g|--debugging] [-e|--debugging-tags] [-h|--section-headers|--headers] [-i|--info] [-j section|--section=section] [-l|--line-numbers] [-S|--source] [--source-comment[=text]] [-m machine|--architecture=machine] [-M options|--disassembler-options=options] [-p|--private-headers] [-P options|--private=options] [-r|--reloc] [-R|--dynamic-reloc] [-s|--full-contents] [-Z|--decompress] [-W[lLiaprmfFsoORtUuTgAck]| --dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links]] [-WK|--dwarf=follow-links] [-WN|--dwarf=no-follow-links] [-wD|--dwarf=use-debuginfod] [-wE|--dwarf=do-not-use-debuginfod] [-L|--process-links] [--ctf=section] [--sframe=section] [-G|--stabs] [-t|--syms] [-T|--dynamic-syms] [-x|--all-headers] [-w|--wide] [--start-address=address] [--stop-address=address] [--no-addresses] [--prefix-addresses] [--[no-]show-raw-insn] [--adjust-vma=offset] [--show-all-symbols] [--dwarf-depth=n] [--dwarf-start=n] [--ctf-parent=section] [--no-recurse-limit|--recurse-limit] [--special-syms] [--prefix=prefix] [--prefix-strip=level] [--insn-width=width] [--visualize-jumps[=color|=extended-color|=off] [--disassembler-color=[off|terminal|on|extended] [-U method] [--unicode=method] [-V|--version] [-H|--help] objfile....SH " (DESCRIPTION)" objdump (object file) . . . objfile... . objdump . (OPTIONS) . -a,-d,-D,-e,-f,-g,-G,-h,-H,-p,-P,-r,-R,-s,-S,-t,-T,-V,-x . -a --archive-header objfile (header) ( ls -l) . ar tv objdump -a . --adjust-vma=offset offset . a.out. -b bfdname --target=bfdname bfdname . objdump . objdump -b oasys -m vax -h fu.o (-h) fu.o (-m) VAX Oasys . -i . -C --demangle[=style] (demangle) . (underscore) ++C . mangling . demangling . --recurse-limit --no-recurse-limit --recursion-limit --no-recursion-limit (recursion) demangle . mangling (stack) . . . . -g --debugging (debugging). STABS C . STABS -W DWARF . -e --debugging-tags -g ctags . -d --disassemble --disassemble=symbol (assembler mnemonics) . . symbol ( ) () symbol . symbol . symbol . --dwarf=follow-links . -D --disassemble-all -d bss . -j . . -d objdump . -D . -d -D . ARM . --dwarf=follow-links . --no-addresses (relocation offsets) . --no-show-raw-insn . --prefix-addresses . . -EB -EL --endian={big|little} (endianness) . . S-records . -f --file-headers objfile. -F --file-offsets . . . --file-start-context ( -S) . -h --section-headers --headers . -Ttext -Tdata -Tbss ld. a.out . ld objdump -h . . READONLY NOREAD . NOREAD objdump . -H --help objdump . -i --info -b -m . -j name --section=name name . . -L --process-links debuginfo . -WK . -l --line-numbers ( ) . -d -D -r . -m machine --architecture=machine . S-records . -i . . foo:bar bar foo . objdump . ARM : machine . -marm . -M options --disassembler-options=options . . -M . ARC dsp DSP spfp FPX dpfp FPX quarkse_em QuarkSE-EM fpuda fpus FPU fpud FPU . hex . . cpu=... ISA -m ELF . ISA ARC EM HS EM HS ELF . - . -mcpu=... . ARM . -M reg-names-std () ARM 'sp' 'lr' 'pc' . -M reg-names-apcs << ARM>> -M reg-names-raw r . APCS -M reg-names-atpcs -M reg-names-special-atpcs << ARM/Thumb>> ( ). ARM --disassembler-options=force-thumb Thumb . Thumb . AArch64 -M no-aliases -M notes . x86 -m . "x86-64" "i386" "i8086" . "intel" "att" intel AT&T. "amd64" "intel64" AMD64 ISA Intel64 ISA. "intel-mnemonic" "att-mnemonic" (mnemonic) intel AT&T. : "intel-mnemonic" "intel" "att-mnemonic" "att" . "addr64" "addr32" "addr16" "data32" "data16" . "x86-64" "i386" "i8086" . "suffix" AT&T Intel ( ) (mnemonic suffix) . PowerPC raw -M . "clrlwi" "rlwinm" "li" "addi" . -m gas . : 403 405 440 464 476 601 603 604 620 7400 7410 7450 7455 750cl 821 850 860 a2 booke booke32 cell com e200z2 e200z4 e300 e500 e500mc e500mc64 e500x2 e5500 e6500 efs power4 power5 power6 power7 power8 power9 power10 power11 ppc ppc32 ppc64 ppc64bridge ppcps pwr pwr2 pwr4 pwr5 pwr5x pwr6 pwr7 pwr8 pwr9 pwr10 pwr11 pwrx titan vle future. 32 64 - . altivec any lsp htm vsx spe spe2 . any opcode binutils opcode . BFD . RISC-V : "max" . (best effort) ISA ( ) . ELF ISA ( ISA ) ISA ("rv64gc") . "numeric" ABI ( "x2" "sp"). "no-aliases" (canonical). ("addi sp,sp,-128" "c.addi16sp sp,-128" ). "priv-spec=SPEC" CSR (privilege spec) ( 1.10 1.11 1.12 1.13). MIPS (mnemonic) . : "no-aliases" <<>> ('raw') . 'daddu' 'or' 'move' 'sll' 'nop' . "msa" MSA. "virt" virtualization ASE. "xpa" eXtended Physical Address (XPA) ASE. "gpr-names=ABI" GPR ( ) ABI . GPR ABI . "fpr-names=ABI" FPR ( ) ABI . FPR . "cp0-names=ARCH" CP0 ( ) ARCH. CP0 . "hwr-names=ARCH" HWR ( "rdhwr") ARCH. HWR . "reg-names=ABI" GPR FPR ABI . "reg-names=ARCH" ( CP0 HWR) . ABI ARCH numeric . ABI ARCH --help . VAX -M entry:0xf00ba . VAX ( ROM) . VAX . --private-headers (object file) . . . -P options --private=options . options ( ). XCOFF : "header" "aout" "sections" "syms" "relocs" "lineno," "loader" "except" "typchk" "traceback" "toc" "ldinfo" PE : "header" "sections" . ELF . -r --reloc (relocation) . -d -D (disassembly) . -R --dynamic-reloc . . -r -d -D . : objdump RELR . readelf . -s --full-contents (sections) -j . bss . . -Z . -S --source . -d . --show-all-symbols . --source-comment[=txt] -S txt . txt / . txt "# " ( ) . --prefix=prefix prefix -S . --prefix-strip=level . --prefix=prefix . --show-raw-insn . --prefix-addresses . --no-show-raw-insn . --prefix-addresses . --insn-width=width width . --visualize-jumps[=color|=extended-color|=off] (ASCII art) . =color . =extended-color . visualize-jumps visualize-jumps=off . --disassembler-color=off --disassembler-color=terminal --disassembler-color=on|color|colour --disassembler-color=extended|extended-color|extended-colour (syntax highlighting) . (configure time) . . on . terminal . extended-color on . . off ..IP -W[lLiaprmfFsoORtUuTgAckK] 4 --dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links,=follow-links] DWARF . ( ) . ( ) . : "a" "=abbrev" .debug_abbrev . "A" "=addr" .debug_addr . "c" "=cu_index" .debug_cu_index / .debug_tu_index . "f" "=frames" .debug_frame . "F" "=frames-interp" .debug_frame . "g" "=gdb_index" .gdb_index / .debug_names . "i" "=info" .debug_info . : --dwarf-depth --dwarf-start . "k" "=links" .gnu_debuglink .gnu_debugaltlink .debug_sup . dwarf (dwo) DW_AT_GNU_dwo_name DW_AT_dwo_name .debug_info . "K" "=follow-links" () . . DWARF . - . N . binutils --enable-follow-debug-links=yes --enable-follow-debug-links=no . . - binutils debuginfod debuginfod DEBUGINFOD_URLS . . =do-not-use-debuginfod . "N" "=no-follow-links" . "D" "=use-debuginfod" debuginfod . . "E" "=do-not-use-debuginfod" debuginfod . "l" "=rawline" .debug_line . "L" "=decodedline" .debug_line . "m" "=macro" .debug_macro / .debug_macinfo . "o" "=loc" .debug_loc / .debug_loclists . "O" "=str-offsets" .debug_str_offsets . "p" "=pubnames" .debug_pubnames / .debug_gnu_pubnames . "r" "=aranges" .debug_aranges . "R" "=Ranges" .debug_ranges / .debug_rnglists . "s" "=str" .debug_str .debug_line_str / .debug_str_offsets . "t" "=pubtype" .debug_pubtypes / .debug_gnu_pubtypes . "T" "=trace_aranges" .trace_aranges . "u" "=trace_abbrev" .trace_abbrev . "U" "=trace_info" .trace_info . : .debug_static_funcs .debug_static_vars debug_weaknames . --dwarf-depth=n ".debug_info" n . --debug-dump=info . DIE 0 n . n DIE n . n . --dwarf-start=n DIE DIE n . --debug-dump=info . DIE DIE n . DIE . --dwarf-depth . --dwarf-check Dwarf . --ctf[=section] CTF . CTF . .ctf ld . --ctf-parent=member CTF CTF . .ctf "ctf_link_set_memb_name_changer" . CTF --ctf-parent . --ctf-parent-section=section CTF . ELF . CTF objcopy ELF CTF . --sframe[=section] SFrame . .sframe ld . -G --stabs . ( Solaris 2.0) ".stab" ELF . --syms . --start-address=address . -d -r -s . --stop-address=address . -d -r -s . -t --syms (symbol table) . nm . . : [ 4](sec 3)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x00000000 .bss [ 6](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 fred sec (section) fl ty scl nx . . ELF : 00000000 l d .bss 00000000 .bss 00000000 g .text 00000000 fred ( ). . . *ABS* ( ) *UND* . (common) (alignment) (size) . . : "l" "g" "u" "!" (l) (g) (u) ( ) (!) . . GNU ELF . . "w" (w) ( ) . "C" (C) ( ) . "W" (W) ( ) . . "I" "i" (I) (reloc) (i) ( ) . "d" "D" (d) (D) ( ) . "F" "f" "O" (F) (f) (O) ( ) . -T --dynamic-syms . . nm -D (--dynamic) . --syms . . --special-syms (target) . -U [d|i|l|e|x|h] --unicode=[default|invalid|locale|escape|hex|highlight] UTF-8 . (--unicode=default) . --unicode=locale (locale) . --unicode=hex --unicode=invalid . --unicode=escape (\uxxxx) --unicode=highlight ( ) . . -V --version objdump . -x --all-headers . -x -a -f -h -p -r -t . -w --wide . . -z --disassemble-zeroes . . -Z --decompress -Z -s . objdump . @file file . @file . file . file . . ( ) . file @file . (SEE ALSO) nm(1) readelf(1) Info binutils. (COPYRIGHT) Copyright (c) 1991-2025 Free Software Foundation, Inc. / (GNU Free Documentation License) 1.3 (Free Software Foundation) . "GNU Free Documentation License" . binutils-2.45.1 2026-01-23 OBJDUMP(1)