llvm-objdump [commands] [options] [filenames...]
The llvm-objdump utility prints the contents of object files and final linked images named on the command line. If no file name is specified, llvm-objdump will attempt to read from a.outamp;. If - is used as a file name, llvm-objdump will process a file on its standard input stream.
At least one of the following commands are required, and some commands can be combined with other commands:
-a, --archive-headers | |
Display the information contained within an archiveaqs headers. | |
-d, --disassemble | |
Disassemble all text sections found in the input files. | |
-D, --disassemble-all | |
Disassemble all sections found in the input files. | |
--disassemble-symbols=<symbol1[,symbol2,...]> | |
Disassemble only the specified symbols. Takes demangled symbol names when --demangle is specified, otherwise takes mangled symbol names. Implies --disassembleamp;. | |
--dwarf=<value> | |
Dump the specified DWARF debug sections. The supported values are:
frames - .debug_frame | |
-f, --file-headers | |
Display the contents of the overall file header. | |
--fault-map-section | |
Display the content of the fault map section. | |
-h, --headers, --section-headers | |
Display summaries of the headers for each section. | |
--help | Display usage information and exit. Does not stack with other commands. |
-p, --private-headers | |
Display format-specific file headers. | |
-r, --reloc | |
Display the relocation entries in the file. | |
-R, --dynamic-reloc | |
Display the dynamic relocation entries in the file. | |
--raw-clang-ast | |
Dump the raw binary contents of the clang AST section. | |
-s, --full-contents | |
Display the contents of each section. | |
-t, --syms | Display the symbol table. |
-T, --dynamic-syms | |
Display the contents of the dynamic symbol table. | |
-u, --unwind-info | |
Display the unwind info of the input(s). | |
--version | |
Display the version of the llvm-objdump executable. Does not stack with other commands. | |
-x, --all-headers | |
Display all available header information. Equivalent to specifying --archive-headers, --file-headers, --private-headers, --reloc, --section-headers, and --symsamp;. | |
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. | |
-C, --demangle | |
Demangle symbol names in the output. | |
--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 40 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. Currently supported for ARM targets only. Available options are reg-names-std and reg-names-rawamp;. | |
--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 | |
When disassembling, do not print leading addresses. | |
--no-show-raw-insn | |
When disassembling, do not print the raw bytes of each instruction. | |
--prefix=<prefix> | |
When disassembling with the --source option, prepend prefix to absolute paths. | |
--print-imm-hex | |
Use hex format when printing immediate values in disassembly output. | |
-S, --source | |
When disassembling, display source interleaved with the disassembly. Implies --disassembleamp;. | |
--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. Only works with an X86 linked image. | |
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> | |
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;. |
--arch=<architecture> | |
Specify the architecture to disassemble. see --version for available architectures. | |
--archive-member-offsets | |
Print the offset to each archive member for Mach-O archives (requires --archive-headers). | |
--bind | Display binding info |
--cfg | Create a CFG for every symbol in the object file and write it to a graphviz file. |
--data-in-code | |
Display the data in code table. | |
--dis-symname=<name> | |
Disassemble just the specified symbolaqs instructions. | |
--dylibs-used | |
Display the shared libraries used for linked files. | |
--dsym=<string> | |
Use .dSYM file for debug info. | |
--dylib-id | |
Display the shared libraryaqs ID for dylib files. | |
--exports-trie | |
Display exported symbols. | |
-g | Print line information from debug info if available. |
--full-leading-addr | |
Print the full leading address when disassembling. | |
--indirect-symbols | |
Display the indirect symbol table. | |
--info-plist | |
Display the info plist section as strings. | |
--lazy-bind | |
Display lazy binding info. | |
--link-opt-hints | |
Display the linker optimization hints. | |
-m, --macho | |
Use Mach-O specific object file parser. Commands and other options may behave differently when used with --machoamp;. | |
--no-leading-headers | |
Do not print any leading headers. | |
--no-symbolic-operands | |
Do not print symbolic operands when disassembling. | |
--non-verbose | |
Display the information for Mach-O objects in non-verbose or numeric form. | |
--objc-meta-data | |
Display the Objective-C runtime meta data. | |
--private-header | |
Display only the first format specific file header. | |
--rebase | |
Display rebasing information. | |
--universal-headers | |
Display universal headers. | |
--weak-bind | |
Display weak binding information. | |
--symbol-description | |
Add symbol description to disassembly output. | |
To report bugs, please visit < https://bugs.llvm.org/>.
llvm-nm(1), llvm-readelf(1), llvm-readobj(1)
2021-06-07 | LLVM-OBJDUMP (1) | 12 |
Main index | Section 1 | Options |
Please direct any comments about this manual page service to Ben Bullock. Privacy policy.
“ | With features like these, who needs bugs? | ” |
— Henry Spencer |