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, PowerPC, x86), all	known instruc-
	      tions are	disassembled by	default.  On  the  others,  --mcpu  or
	      --mattr  is needed to enable some	instruction sets. Disabled in-
	      structions 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 sym-
	      bol 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.

       -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
	      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 specify-
	      ing    --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
	      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 .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. Un-
	      less specified, debuginfod is only enabled if libcurl  was  com-
	      piled in (LLVM_ENABLE_CURL) and at least one server URL was pro-
	      vided by the environment variable	DEBUGINFOD_URLS.

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

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

	      	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.

       --disassembler-color=<mode>
	      Enable or	disable	disassembler color output.

	      	off: Disable disassembler color	output.

	      	on: Enable disassembler	color output.

	      	terminal: Enable disassembler color  output  if	 the  terminal
		supports it (default).

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

       -mllvm <arg>
	      Specify an argument to forward to	LLVM's CommandLine library.

       --no-leading-addr, --no-addresses
	      When  disassembling, do not print	leading	addresses for instruc-
	      tions or inline relocations.

       --no-print-imm-hex
	      Do not use hex format for	immediate values in  disassembly  out-
	      put.

       --no-show-raw-insn
	      When  disassembling, do not print	the raw	bytes of each instruc-
	      tion.

       --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  ef-
	      fect 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	disas-
	      sembly. 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.  De-
	      faults 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.

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

       --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	exter-
	      nal 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  op-
	      tions 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 nu-
	      meric 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.

       --traceback-table
	      Decode   traceback   table   in	disassembly   output.  Implies
	      --disassemble.

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-2025, LLVM Project

18				  2025-04-13		       LLVM-OBJDUMP(1)

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

home | help