llvm-objdump supports the following options:
--adjust-vma=<offset> |
|
Increase the displayed address in disassembly or section header printing by
the specified offset.
|
--arch-name=<string> |
|
Specify the target architecture when disassembling. Use --version
for a list of available targets.
|
--build-id=<string> |
|
Look up the object using the given build ID, specified as a hexadecimal
string. The found object is handled as if it were an input filename.
|
-C, --demangle |
|
Demangle symbol names in the output.
|
--debug-file-directory <path> |
|
Provide a path to a directory with a amp;.build-id subdirectory to search for
debug information for stripped binaries. Multiple instances of this argument
are searched in the order given.
|
--debuginfod, --no-debuginfod |
|
Whether or not to try debuginfod lookups for debug binaries. Unless specified,
debuginfod is only enabled if libcurl was compiled in (LLVM_ENABLE_CURL)
and at least one server URL was provided by the environment variable
DEBUGINFOD_URLSamp;.
|
--debug-vars=<format> |
|
Print the locations (in registers or memory) of source-level variables
alongside disassembly. format may be unicode or ascii, defaulting
to unicode if omitted.
|
--debug-vars-indent=<width> |
|
Distance to indent the source-level variable display, relative to the start
of the disassembly. Defaults to 52 characters.
|
-j, --section=<section1[,section2,...]> |
|
Perform commands on the specified sections only. For Mach-O use
segment,section to specify the section name.
|
-l, --line-numbers |
|
When disassembling, display source line numbers. Implies
--disassembleamp;.
|
-M, --disassembler-options=<opt1[,opt2,...]> |
|
Pass target-specific disassembler options. Available options:
|
»
|
reg-names-std: ARM only (default). Print in ARM aqs 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: AArch64 and RISC-V only. Print raw instruction mnemonic instead of pseudo 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.
|
--mcpu=<cpu-name> |
|
Target a specific CPU type for disassembly. Specify --mcpu=help to display
available CPUs.
|
--mattr=<a1,+a2,-a3,...> |
|
Enable/disable target-specific attributes. Specify --mattr=help to display
the available attributes.
|
--no-leading-addr, --no-addresses |
|
When disassembling, do not print leading addresses for instructions or inline
relocations.
|
--no-print-imm-hex |
|
Do not use hex format for immediate values in disassembly output.
|
--no-show-raw-insn |
|
When disassembling, do not print the raw bytes of each instruction.
|
--offloading |
|
Display the content of the LLVM offloading section.
|
--prefix=<prefix> |
|
When disassembling with the --source option, prepend prefix to
absolute paths.
|
--prefix-strip=<level> |
|
When disassembling with the --source option, strip out level
initial directories from absolute paths. This option has no effect without
--prefixamp;.
|
--print-imm-hex |
|
Use hex format when printing immediate values in disassembly output (default).
|
-S, --source |
|
When disassembling, display source interleaved with the disassembly. Implies
--disassembleamp;.
|
--show-all-symbols |
|
Show all symbols during disassembly, even if multiple symbols are defined at
the same location.
|
--show-lma |
|
Display the LMA column when dumping ELF section headers. Defaults to off
unless any section has different VMA and LMAs.
|
--start-address=<address> |
|
When disassembling, only disassemble from the specified address.
When printing relocations, only print the relocations patching offsets from at least addressamp;.
When printing symbols, only print symbols with a value of at least addressamp;.
|
--stop-address=<address> |
|
When disassembling, only disassemble up to, but not including the specified address.
When printing relocations, only print the relocations patching offsets up to addressamp;.
When printing symbols, only print symbols with a value up to addressamp;.
|
--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.
When a bb-address-map section is present (i.e., the object file is built with -fbasic-block-sections=labels), labels are retrieved from that section instead.
Only works with PowerPC objects or X86 linked images.
|
Example: |
|
A non-symbolized branch instruction with a local target and pc-relative memory access like
|
cmp eax, dword ptr [rip + 4112]
jge 0x20117e <_start+0x25>
might become
<L0>:
cmp eax, dword ptr <g>
jge <L0>
--triple=<string> |
|
Target triple to disassemble for, see --version for available targets.
|
-w, --wide |
Ignored for compatibility with GNU objdump.
|
--x86-asm-syntax=<style> |
|
Deprecated.
When used with --disassemble, choose style of code to emit from
X86 backend. Supported values are:
|
att |
AT&T-style assembly
|
intel |
Intel-style assembly
|
The default disassembly style is attamp;.
-z, --disassemble-zeroes |
|
Do not skip blocks of zeroes when disassembling.
|
@<FILE> |
Read command-line options and commands from response file <FILE>amp;.
|