Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, July 27, 2022

llvm-objdump (1)


llvm-objdump - LLVM's object file dumper


llvm-objdump [commands] [options] [filenames...]


LLVM-OBJDUMP(1)                      LLVM                      LLVM-OBJDUMP(1)

       llvm-objdump - LLVM's object file dumper

       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.out. 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 archive's headers.

       -d, --disassemble
              Disassemble all text sections found in the input files.

       -D, --disassemble-all
              Disassemble all sections found in the input files.

              Disassemble  only  the specified symbols. Takes demangled symbol
              names when --demangle is specified, otherwise takes mangled sym-
              bol names.  Implies --disassemble.

              Dump  the  specified  DWARF debug sections. The supported values

              frames - .debug_frame

       -f, --file-headers
              Display the contents of the overall file header.

              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

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

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

              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.

       llvm-objdump supports the following options:

              Increase the displayed address in disassembly or section  header
              printing by the specified offset.

              Specify   the   target   architecture  when  disassembling.  Use
              --version for a list of available targets.

       -C, --demangle
              Demangle symbol names in the output.

              Print the locations (in registers  or  memory)  of  source-level
              variables alongside disassembly. format may be unicode or ascii,
              defaulting to unicode if omitted.

              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

       -M, --disassembler-options=<opt1[,opt2,...]>
              Pass  target-specific  disassembler options. Currently supported
              for ARM targets only. Available options  are  reg-names-std  and

              Target  a specific CPU type for disassembly. Specify --mcpu=help
              to display available CPUs.

              Enable/disable target-specific attributes.  Specify  --mcpu=help
              to display the available attributes.

              When disassembling, do not print leading addresses.

              When  disassembling, do not print the raw bytes of each instruc-

              Use hex format when printing  immediate  values  in  disassembly

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

              Display  the  LMA  column  when  dumping  ELF  section  headers.
              Defaults to off unless any section has different VMA and LMAs.

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

              Target triple to disassemble for, see  --version  for  available

       -w, --wide
              Ignored for compatibility with GNU objdump.

              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.

              Read  command-line  options  and  commands  from  response  file

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

              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.

              Display the data in code table.

              Disassemble just the specified symbol's instructions.

              Display the shared libraries used for linked files.

              Use .dSYM file for debug info.

              Display the shared library's ID for dylib files.

              Display exported symbols.

       -g     Print line information from debug info if available.

              Print the full leading address when disassembling.

              Display the indirect symbol table.

              Display the info plist section as strings.

              Display lazy binding info.

              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.

              Do not print any leading headers.

              Do not print symbolic operands when disassembling.

              Display  the  information  for  Mach-O objects in non-verbose or
              numeric form.

              Display the Objective-C runtime meta data.

              Display only the first format specific file header.

              Display rebasing information.

              Display universal headers.

              Display weak binding information.

              Add symbol description to disassembly output.

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

       See attributes(7) for descriptions of the following attributes:

       |Availability   | developer/llvm/llvm |
       |Stability      | Uncommitted         |

       llvm-nm(1), llvm-readelf(1), llvm-readobj(1)

       Maintained by the LLVM Team (https://llvm.org/).

       2003-2022, LLVM Project

       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source    was    downloaded     from      https://github.com/llvm/llvm-

       Further information about this software can be found on the open source
       community website at https://llvm.org/.

11                                2022-06-28                   LLVM-OBJDUMP(1)