


objdump(1)            GNU Development Tools            objdump(1)


NAME
       objdump - display information from object files.


SYNOPSIS
       objdump
              [-a|--archive-headers] [-b bfdname |
              --target=bfdname] [-C|--demangle] [--debugging]
              [-d|--disassemble] [-D|--disassemble-all]
              [--disassemble-zeroes]
              [-EB|-EL|--endian={big|little}] [-f|--file-headers]
              [-h|--section-headers | --headers] [-i|--info]
              [-j section | --section=section]
              [-l|--line-numbers] [-m machine |
              --architecture=machine] [-p|--private-headers]
              [--prefix-addresses] [-r|--reloc]
              [-R|--dynamic-reloc] [-s|--full-contents]
              [-S|--source] [--[no-]show-raw-insn] [--stabs]
              [-t|--syms] [-T|--dynamic-syms] [-x|--all-headers]
              [--start-address=address] [--stop-address=address]
              [--adjust-vma=offset] [--version] [--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
       Where  long and short forms of an option are shown togeth-
       er, they are equivalent.  At least one option  besides  -l
       (--line-numbers) must be given.


       -a

       --archive-headers
              If any files from objfile 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



cygnus support           5 November 1991                        1





objdump(1)            GNU Development Tools            objdump(1)


              the section addresses.  This is useful if the  sec-
              tion  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 the object-code format for the object files
              to  be bfdname.  This may not be necessary; objdump
              can automatically recognize many formats.  For  ex-
              ample,

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

              display  summary information from the section head-
              ers (`-h') of `fu.o', which is  explicitly  identi-
              fied (`-m') as a Vax object file in the format pro-
              duced by Oasys compilers.  You can list the formats
              available with the `-i' option.


       -C

       --demangle
              Decode (demangle) low-level symbol names into user-
              level names.  Besides removing any  initial  under-
              score prepended by the system, this makes C++ func-
              tion names readable.


       --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 debugging information have been implement-
              ed.


       -d

       --disassemble
              Display the assembler mnemonics for the machine in-
              structions  from  objfile.  This option only disas-
              sembles those sections which are expected  to  con-
              tain instructions.


       -D

       --disassemble-all
              Like  -d,  but disassemble the contents of all sec-



cygnus support           5 November 1991                        2





objdump(1)            GNU Development Tools            objdump(1)


              tions, not just those expected to contain  instruc-
              tions.


       --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
              disassemble 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
              disassembling a file format which does not describe
              endianness information, such as S-records.


       -f

       --file-headers
              Display summary information from the overall header
              of each file in objfile.


       -h

       --section-headers

       --headers
              Display  summary information from the section head-
              ers of the object file.


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





cygnus support           5 November 1991                        3





objdump(1)            GNU Development Tools            objdump(1)


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


       -l

       --line-numbers
              Label  the  display  (using  debugging information)
              with the filename and source  line  numbers  corre-
              sponding  to  the  object  code 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 disassem-
              bling object files which do not describe  architec-
              ture  information, such as S-records.  You can list
              the available architectures with the -i option.


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




cygnus support           5 November 1991                        4





objdump(1)            GNU Development Tools            objdump(1)


       -S

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


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


       --no-show-raw-insn
              When disassembling instructions, do not  print  the
              instruction bytes.  This is the default when --pre-
              fix-addresses is used.


       --stabs
              Display the contents of the .stab, .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, debug-
              ging  symbol-table  entries  are  interleaved  with
              linkage symbols, and are visible in the --syms out-
              put.


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


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


       -t

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


       -T

       --dynamic-syms
              Dynamic  Symbol  Table.   Print  the dynamic symbol
              table entries of the file.  This is only meaningful



cygnus support           5 November 1991                        5





objdump(1)            GNU Development Tools            objdump(1)


              for  dynamic  objects,  such  as  certain  types of
              shared libraries.  This is similar to the  informa-
              tion provided by the `nm' program when given the -D
              (--dynamic) option.


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


       -x

       --all-headers
              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'.


SEE ALSO
       `binutils' entry in info; The GNU Binary Utilities, Roland
       H. Pesch (October 1991); nm(1).


COPYING
       Copyright (c) 1991, 92, 93, 94,  95,  1996  Free  Software
       Foundation, Inc.

       Permission  is  granted  to  make  and distribute verbatim
       copies of this manual provided the  copyright  notice  and
       this permission notice are preserved on all copies.

       Permission is granted to copy and distribute modified ver-
       sions of this manual under  the  conditions  for  verbatim
       copying,  provided  that the entire resulting derived work
       is distributed under the  terms  of  a  permission  notice
       identical to this one.

       Permission  is granted to copy and distribute translations
       of this manual into another language, under the above con-
       ditions for modified versions, except that this permission
       notice may be included in  translations  approved  by  the
       Free  Software  Foundation  instead of in the original En-
       glish.













cygnus support           5 November 1991                        6


