FreeBSD manual

download PDF document: llvm-objdump15.1.pdf

LLVM-OBJDUMP(1) LLVM LLVM-OBJDUMP(1)
NAME llvm-objdump - LLVM's object file dumper
SYNOPSIS llvm-objdump [commands] [options] [filenames...]
DESCRIPTION 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.out. If - is used as a file name, 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:
-a, --archive-headers Display the information contained within an archive's headers.
-d, --disassemble Disassemble all executable sections found in the input files. On some architectures (AArch64, PPC64, x86), all known instructions are disassembled by default. On the others, --mcpu or --mattr is needed to enable some instruction sets. Disabled instructions are displayed as <unknown>.
-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 --disassemble.
--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.
-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).
This operation is only currently supported for COFF and Mach-O object files.
-v, --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 --syms.
OPTIONS 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 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 --disassemble.
-M, --disassembler-options=<opt1[,opt2,...]> Pass target-specific disassembler options. Available options:
o reg-names-std: ARM only (default). Print in ARM 's instruction
o numeric: RISC-V only. Print raw register names instead of ABI mnemonic. (e.g. print x1 instead of ra)
o att: x86 only (default). Print in the AT&T syntax.
o 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 When disassembling, do not print leading addresses.
--no-print-imm-hex Do not use hex format for immediate values in disassembly output (default).
--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 --prefix.
--print-imm-hex Use hex format when printing immediate values in disassembly output.
-S, --source When disassembling, display source interleaved with the disassembly. Implies --disassemble.
--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 address.
When printing symbols, only print symbols with a value of at least address.
When printing symbols, only print symbols with a value up to address.
--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 att.
-z, --disassemble-zeroes Do not skip blocks of zeroes when disassembling.
@<FILE> Read command-line options and commands from response file <FILE>.
MACH-O ONLY OPTIONS AND COMMANDS
--arch=<architecture> Specify the architecture to disassemble. see --version for available architectures.
--data-in-code Display the data in code table.
--dis-symname=<name> Disassemble just the specified symbol's instructions.
--dyld_info Print bind and rebase information used by dyld to resolve external references in a final linked binary.
--dylibs-used Display the shared libraries used for linked files.
--dsym=<string> Use .dSYM file for debug info.
--dylib-id Display the shared library's ID for dylib files.
--exports-trie Display exported symbols.
--function-starts Print the function starts table for Mach-O objects.
-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 --macho.
--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.
Display runtime search paths for the binary.
--universal-headers Display universal headers.
--weak-bind Display weak binding information.
XCOFF ONLY OPTIONS AND COMMANDS
--symbol-description Add symbol description to disassembly output.
BUGS To report bugs, please visit <https://github.com/llvm/llvm-project/labels/tools:llvm-objdump/>.
SEE ALSO llvm-nm(1), llvm-otool(1), llvm-readelf(1), llvm-readobj(1)
AUTHOR Maintained by the LLVM Team (https://llvm.org/).
COPYRIGHT 2003-2023, LLVM Project
15 2023-12-15 LLVM-OBJDUMP(1)