llvm-objdump - LLVM's object file dumper ======================================== .. program:: llvm-objdump SYNOPSIS -------- :program:`llvm-objdump` [*commands*] [*options*] [*filenames...*] DESCRIPTION ----------- The :program:`llvm-objdump` utility prints the contents of object files and final linked images named on the command line. If no file name is specified, :program:`llvm-objdump` will attempt to read from *a.out*. If *-* is used as a file name, :program:`llvm-objdump` will process a file on its standard input stream. COMMANDS -------- At least one of the following commands are required, and some commands can be combined with other commands: .. option:: -a, --archive-headers Display the information contained within an archive's headers. .. option:: -d, --disassemble Disassemble all text sections found in the input files. .. option:: -D, --disassemble-all Disassemble all sections found in the input files. .. option:: --disassemble-symbols= Disassemble only the specified symbols. Takes demangled symbol names when :option:`--demangle` is specified, otherwise takes mangled symbol names. Implies :option:`--disassemble`. .. option:: --dwarf= Dump the specified DWARF debug sections. The supported values are: `frames` - .debug_frame .. option:: -f, --file-headers Display the contents of the overall file header. .. option:: --fault-map-section Display the content of the fault map section. .. option:: -h, --headers, --section-headers Display summaries of the headers for each section. .. option:: --help Display usage information and exit. Does not stack with other commands. .. option:: -p, --private-headers Display format-specific file headers. .. option:: -r, --reloc Display the relocation entries in the file. .. option:: -R, --dynamic-reloc Display the dynamic relocation entries in the file. .. option:: --raw-clang-ast Dump the raw binary contents of the clang AST section. .. option:: -s, --full-contents Display the contents of each section. .. option:: -t, --syms Display the symbol table. .. option:: -T, --dynamic-syms Display the contents of the dynamic symbol table. .. option:: -u, --unwind-info Display the unwind info of the input(s). .. option:: -v, --version Display the version of the :program:`llvm-objdump` executable. Does not stack with other commands. .. option:: -x, --all-headers Display all available header information. Equivalent to specifying :option:`--archive-headers`, :option:`--file-headers`, :option:`--private-headers`, :option:`--reloc`, :option:`--section-headers`, and :option:`--syms`. OPTIONS ------- :program:`llvm-objdump` supports the following options: .. option:: --adjust-vma= Increase the displayed address in disassembly or section header printing by the specified offset. .. option:: --arch-name= Specify the target architecture when disassembling. Use :option:`--version` for a list of available targets. .. option:: -C, --demangle Demangle symbol names in the output. .. option:: --debug-vars= Print the locations (in registers or memory) of source-level variables alongside disassembly. ``format`` may be ``unicode`` or ``ascii``, defaulting to ``unicode`` if omitted. .. option:: --debug-vars-indent= Distance to indent the source-level variable display, relative to the start of the disassembly. Defaults to 40 characters. .. option:: -j, --section= Perform commands on the specified sections only. For Mach-O use `segment,section` to specify the section name. .. option:: -l, --line-numbers When disassembling, display source line numbers. Implies :option:`--disassemble`. .. option:: -M, --disassembler-options= Pass target-specific disassembler options. Available options: * ``reg-names-std``: ARM only (default). Print in ARM 's instruction set documentation, with r13/r14/r15 replaced by sp/lr/pc. * ``reg-names-raw``: ARM only. Use r followed by the register number. * ``no-aliases``: RISC-V only. Print raw instruction mnemonic instead of pesudo instruction mnemonic. * ``numeric``: RISC-V only. Print raw register names instead of ABI mnemonic. (e.g. print x1 instead of ra) * ``att``: x86 only (default). Print in the AT&T syntax. * ``intel``: x86 only. Print in the intel syntax. .. option:: --mcpu= Target a specific CPU type for disassembly. Specify ``--mcpu=help`` to display available CPUs. .. option:: --mattr= Enable/disable target-specific attributes. Specify ``--mattr=help`` to display the available attributes. .. option:: --no-leading-addr When disassembling, do not print leading addresses. .. option:: --no-show-raw-insn When disassembling, do not print the raw bytes of each instruction. .. option:: --prefix= When disassembling with the :option:`--source` option, prepend ``prefix`` to absolute paths. .. option:: --prefix-strip= When disassembling with the :option:`--source` option, strip out ``level`` initial directories from absolute paths. This option has no effect without :option:`--prefix`. .. option:: --print-imm-hex Use hex format when printing immediate values in disassembly output. .. option:: -S, --source When disassembling, display source interleaved with the disassembly. Implies :option:`--disassemble`. .. option:: --show-lma Display the LMA column when dumping ELF section headers. Defaults to off unless any section has different VMA and LMAs. .. option:: --start-address=
When disassembling, only disassemble from the specified address. When printing relocations, only print the relocations patching offsets from at least ``address``. When printing symbols, only print symbols with a value of at least ``address``. .. option:: --stop-address=
When disassembling, only disassemble up to, but not including the specified address. When printing relocations, only print the relocations patching offsets up to ``address``. When printing symbols, only print symbols with a value up to ``address``. .. option:: --symbolize-operands When disassembling, symbolize a branch target operand to print a label instead of a real address. When printing a PC-relative global symbol reference, print it as an offset from the leading symbol. Only works with an X86 linked image. Example: A non-symbolized branch instruction with a local target and pc-relative memory access like .. code-block:: none cmp eax, dword ptr [rip + 4112] jge 0x20117e <_start+0x25> might become .. code-block:: none : cmp eax, dword ptr jge .. option:: --triple= Target triple to disassemble for, see ``--version`` for available targets. .. option:: -w, --wide Ignored for compatibility with GNU objdump. .. option:: --x86-asm-syntax=