objdump - display information from object files.


SYNOPSIS

       objdump [ -a | --archive-headers ]
               [ -b bfdname | --target=bfdname ]
               [ -C | --demangle[=style] ]
               [ -d | --disassemble ]
               [ -D | --disassemble-all ]
               [ -z | --disassemble-zeroes ]
               [ -EB | -EL | --endian={big | little } ]
               [ -f | --file-headers ]
               [ --file-start-context ]
               [ -g | --debugging ]
               [ -h | --section-headers | --headers ]
               [ -i | --info ]
               [ -j section | --section=section ]
               [ -l | --line-numbers ]
               [ -S | --source ]
               [ -m machine | --architecture=machine ]
               [ -M options | --disassembler-options=options]
               [ -p | --private-headers ]
               [ -r | --reloc ]
               [ -R | --dynamic-reloc ]
               [ -s | --full-contents ]
               [ -G | --stabs ]
               [ -t | --syms ]
               [ -T | --dynamic-syms ]
               [ -x | --all-headers ]
               [ -w | --wide ]
               [ --start-address=address ]
               [ --stop-address=address ]
               [ --prefix-addresses]
               [ --[no-]show-raw-insn ]
               [ --adjust-vma=offset ]
               [ -V | --version ]
               [ -H | --help ]
               objfile...


DESCRIPTION

       `objdump'  displays  information  about one or more object
       files.  The options control what particular information to
       display.  This information is mostly useful to programmers
       who are working on the compilation tools,  as  opposed  to
       programmers  who  just  want  their program to compile and
       work.

       objfile... are the object files to be examined.  When  you
       specify  archives,  `objdump' shows information on each of
       the member object files.


OPTIONS

       The long and short forms of options, shown here as  alter­
       natives,  are  equivalent.   At  least one option from the

       be given.

       `-a'

       `--archive-header'
           If  any of the objfile files are archives, display the
           archive header information (in a format similar to  ls
           -l).   Besides  the information you could list with ar
           tv, objdump -a shows the object file  format  of  each
           archive member.

       `--adjust-vma=offset'
           When  dumping information, first add offset to all the
           section addresses.  This  is  useful  if  the  section
           addresses do not correspond to the symbol table, which
           can  happen  when  putting  sections   at   particular
           addresses  when using a format which can not represent
           section addresses, such as a.out.

       `-b bfdname'

       `--target=bfdname'
           Specify that the object-code  format  for  the  object
           files  is  bfdname.  This option may not be necessary;
           objdump can automatically recognize many formats.

           For example,

                   objdump -b oasys -m vax -h fu.o

           displays summary information from the section  headers
           (-h) of fu.o, which is explicitly identified (-m) as a
           VAX object file in the format produced by  Oasys  com­
           pilers.   You  can list the formats available with the
           -i option.

       `-C'

       `--demangle[=style]'
           Decode (demangle) low-level symbol  names  into  user-
           level  names.  Besides removing any initial underscore
           prepended by the system, this makes C++ function names
           readable.  Different compilers have different mangling
           styles. The optional demangling style argument can  be
           used  to  choose  an  appropriate demangling style for
           your compiler.

       `-G'

       `--debugging'
           Display debugging information.  This attempts to parse
           debugging  information stored in the file and print it
           out using a C like  syntax.   Only  certain  types  of


       `-d'

       `--disassemble'
           Display   the  assembler  mnemonics  for  the  machine
           instructions from objfile.  This option only disassem­
           bles  those  sections  which  are  expected to contain
           instructions.

       `-D'

       `--disassemble-all'
           Like -d, but disassemble the contents of all sections,
           not just those expected to contain instructions.

       `--prefix-addresses'
           When disassembling, print the complete address on each
           line.  This is the older disassembly format.

       `--disassemble-zeroes'
           Normally the disassembly output will  skip  blocks  of
           zeroes.   This option directs the disassembler to dis­
           assemble those blocks, just like any other data.

       `-EB'

       `-EL'

       `--endian={big|little}'
           Specify the endianness of the object files.  This only
           affects  disassembly.   This can be useful when disas­
           sembling a file format which does not describe endian­
           ness information, such as S-records.

       `-f'

       `--file-header'
           Display summary information from the overall header of
           each of the objfile files.

       `--file-start-context'
           Specify  that  when  displaying   interlisted   source
           code/disassembly  (assumes  '-S') from a file that has
           not yet been displayed,  extend  the  context  to  the
           start of the file.

       `-h'

       `--section-header'

       `--header'
           Display  summary  information from the section headers
           of the object file.

           addresses, for example by using the -Ttext, -Tdata, or
           -Tbss options to `ld'.  However, some object file for­
           mats, such as a.out, do not store the starting address
           of the file segments.  In those  situations,  although
           `ld'  relocates  the sections correctly, using objdump
           -h to list the file section headers  cannot  show  the
           correct   addresses.   Instead,  it  shows  the  usual
           addresses, which are implicit for the target.

       `--help'
           Print a summary of the options to `objdump' and  exit.

       `-i'

       `--info'
           Display  a  list  showing all architectures and object
           formats available for specification with -b or -m.

       `-j name'

       `--section=name'
           Display information only for section name.

       `-l'

       `--line-numbers'
           Label the display (using debugging  information)  with
           the  filename and source line numbers corresponding to
           the object code or relocs shown.  Only useful with -d,
           -D, or -r.

       `-m machine'

       `--architecture=machine'
           Specify  the  architecture  to  use when disassembling
           object files.  This can be useful  when  disassembling
           object files which do not describe architecture infor­
           mation, such as S-records.  You can list the available
           architectures with the -i option.

       `-M options'

       `--disassembler-options=options'
           Pass  target specific information to the disassembler.
           Only supported on some targets.

           If the target is an ARM architecture then this  switch
           can  be used to select which register name set is used
           during disassembler.  Specifying -M reg-name-std  (the
           default)  will  select  the  register names as used in
           ARM's instruction set documentation, but with register
           13  called  'sp', register 14 called 'lr' and register
           15 called 'pc'.   Specifying  -M  reg-names-apcs  will

           Standard, whilst specifying -M reg-names-raw will just
           use r followed by the register number.

           There  are also two variants on the APCS register nam­
           ing scheme enabled by -M reg-names-atpcs and  -M  reg-
           names-special-atpcs  which use the ARM/Thumb Procedure
           Call Standard naming conventions.  (Eiuther  with  the
           normal  register name sor the special register names).

           This option can also be used for ARM architectures  to
           force  the  disassembler to interpret all instructions
           as THUMB instructions by using the switch  --disassem­
           bler-options=force-thumb.   This  can  be  useful when
           attempting to disassemble thumb code produced by other
           compilers.

       `-p'

       `--private-headers'
           Print  information that is specific to the object file
           format.  The exact information  printed  depends  upon
           the object file format.  For some object file formats,
           no additional information is printed.

       `-r'

       `--reloc'
           Print the relocation entries of  the  file.   If  used
           with  -d  or  -D,  the  relocations are printed inter­
           spersed with the disassembly.

       `-R'

       `--dynamic-reloc'
           Print the dynamic  relocation  entries  of  the  file.
           This  is  only meaningful for dynamic objects, such as
           certain types of shared libraries.

       `-s'

       `--full-contents'
           Display the full contents of any sections requested.

       `-S'

       `--source'
           Display source code intermixed  with  disassembly,  if
           possible.  Implies -d.

       `--show-raw-insn'
           When disassembling instructions, print the instruction
           in hex as well as  in  symbolic  form.   This  is  the
           default except when `--prefix-addresses' is used.

           When  disassembling  instructions,  do  not  print the
           instruction bytes.  This is the default  when  `--pre­
           fix-addresses' is used.

       `-G'

       `--stabs'
           Display  the  full contents of any sections requested.
           Display the contents of the .stab and .stab.index  and
           .stab.excl  sections  from  an ELF file.  This is only
           useful on systems  (such  as  Solaris  2.0)  in  which
           `.stab'  debugging symbol-table entries are carried in
           an ELF section.  In most other file formats, debugging
           symbol-table entries are interleaved with linkage sym­
           bols, and are visible in the --syms output.

       `--start-address=address'
           Start displaying data at the specified address.   This
           affects the output of the `-d', `-r' and `-s' options.

       `--stop-address=address'
           Stop displaying data at the specified  address.   This
           affects the output of the `-d', `-r' and `-s' options.

       `-t'

       `--syms'
           Print the symbol table entries of the file.   This  is
           similar to the information provided by the nm program.

       `-T'

       `--dynamic-syms'
           Print the dynamic symbol table entries  of  the  file.
           This  is  only meaningful for dynamic objects, such as
           certain types of shared libraries.  This is similar to
           the  information provided by the nm program when given
           the -D (--dynamic) option.

       `--version'
           Print the version number of `objdump' and exit.

       `-x'

       `--all-header'
           Display all available  header  information,  including
           the  symbol table and relocation entries.  Using -x is
           equivalent to specifying all of -a -f -h -r -t.

       `-w'

       `--wide'
           Format some lines for output devices  that  have  more



SEE ALSO

       nm(1), readelf(1), and the Info entries for binutils.


COPYRIGHT

       Copyright  (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000,
       2001 Free Software Foundation, Inc.

       Permission is granted to copy,  distribute  and/or  modify
       this  document  under the terms of the GNU Free Documenta­
       tion License, Version 1.1 or any later  version  published
       by  the  Free  Software Foundation; with no Invariant Sec­
       tions, with no Front-Cover Texts, and with  no  Back-Cover
       Texts.   A  copy of the license is included in the section
       entitled "GNU Free Documentation License".


Man(1) output converted with man2html