llvm-objdump - LLVM’s object file dumper — LLVM 8 documentation

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

`-d````,` `-disassemble```

  Display assembler mnemonics for the machine instructions. Disassembles all text sections found in the input file(s).

`-D````,` `-disassemble-all```

  Display assembler mnemonics for the machine instructions. Disassembles all sections found in the input file(s).

`-help```

  Display usage information and exit. Does not stack with other commands.

`-r```

  Display the relocation entries in the file.

`-s```

  Display the content of each section.

`-section-headers```

  Display summaries of the headers for each section.

`-t```

  Display the symbol table.

`-version```

  Display the version of this program. Does not stack with other commands.

## OPTIONS

llvm-objdump supports the following options:

`-arch``=<architecture>`

  Specify the architecture to disassemble. see `-version` for available architectures.

`-cfg```

  Create a CFG for every symbol in the object file and write it to a graphviz file (Mach-O-only).

`-dsym``=<string>`

  Use .dSYM file for debug info.

`-g```

  Print line information from debug info if available.

`-m````,` `-macho```

  Use Mach-O specific object file parser. Commands and other options may behave differently when used with `-macho`.

`-mattr``=<a1,+a2,-a3,...>`

  Target specific attributes.

`-mc-x86-disable-arith-relaxation```

  Disable relaxation of arithmetic instruction for X86.

`-stats```

  Enable statistics output from program.

`-triple``=<string>`

  Target triple to disassemble for, see `-version` for available targets.

`-x86-asm-syntax``=<style>`

  When used with the `-disassemble` option, 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.

## BUGS

To report bugs, please visit <http://llvm.org/bugs/>.

## SEE ALSO

llvm-nm(1)