Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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  com-
	    mands.

     -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).

	    This  operation  is only currently supported for COFF and Mach-O ob-
	    ject 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.

     --build-id=<string>
	    Look up the object using the given build ID, specified as a hexadec-
	    imal  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  .build-id	subdirectory  to
	    search  for  debug	information  for stripped binaries. Multiple in-
	    stances 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_URLS.

     --debug-vars=<format>
	    Print  the	locations (in registers or memory) of source-level vari-
	    ables alongside disassembly. format may be	unicode  or  ascii,  de-
	    faulting 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 seg-
	    ment,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:

	    * 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:   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  ab-
	    solute 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
	    (default).

     -S, --source
	    When disassembling, display source interleaved with the disassembly.
	    Implies --disassemble.

     --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  off-
	    sets from at least address.

	    When  printing  symbols, only print symbols with a value of at least
	    address.

     --stop-address=<address>
	    When disassembling, only disassemble up to, but  not  including  the
	    specified address.

	    When  printing relocations, only print the relocations patching off-
	    sets up to address.

	    When printing symbols, only print symbols with a  value  up  to  ad-
	    dress.

     --symbolize-operands
	    When disassembling, symbolize a branch target operand to print a la-
	    bel 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  tar-
	    gets.

     -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.

     --archive-member-offsets
	    Print the offset to each archive member  for  Mach-O  archives  (re-
	    quires --archive-headers).

     --bind
	    Display binding info

     --data-in-code
	    Display the data in code table.

     --dis-symname=<name>
	    Disassemble just the specified symbol's instructions.

     --chained-fixups
	    Print chained fixup information.

     --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 [=<addrs|names|both>]
	    Print the function starts table for  Mach-O  objects.  Either  addrs
	    (default)  to  print only the addresses of functions, names to print
	    only the names of the functions (when available), or both  to  print
	    the names beside the addresses.

     -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.

     --private-header
	    Display only the first format specific file header.

     --rebase
	    Display rebasing information.

     --rpaths
	    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

16				   2023-05-24			 LLVM-OBJDUMP(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=objdump&sektion=1&manpath=FreeBSD+15.1-RELEASE+and+Ports>

home | help