-.\" Copyright (c) 1991 Free Software Foundation
+.\" Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 1998 Free Software Foundation
.\" See section COPYING for conditions for redistribution
-.\" $Id$
.TH objdump 1 "5 November 1991" "cygnus support" "GNU Development Tools"
.de BP
.sp
..
.SH NAME
-objdump\(em\&display information from object files.
+objdump \- display information from object files.
.SH SYNOPSIS
.hy 0
.na
.TP
-.B objdump
-.RB "[\|" \-a "\|]"
+.B objdump
+.RB "[\|" \-a | \-\-archive\-headers "\|]"
.RB "[\|" "\-b\ "\c
.I bfdname\c
+.RB " | " "\-\-target="\c
+.I bfdname\c
\&\|]
-.RB "[\|" \-d "\|]"
-.RB "[\|" \-f "\|]"
-.RB "[\|" \-h | --header "\|]"
-.RB "[\|" \-i "\|]"
+.RB "[\|" \-C | \-\-demangle "\|]"
+.RB "[\|" \-\-debugging "\|]"
+.RB "[\|" \-d | \-\-disassemble "\|]"
+.RB "[\|" \-D | \-\-disassemble-all "\|]"
+.RB "[\|" \-\-disassemble\-zeroes "\|]"
+.RB "[\|" \-EB | \-EL | \-\-endian=\c
+.I {big|little}\c
+\&\|]
+.RB "[\|" \-f | \-\-file\-headers "\|]"
+.RB "[\|" \-h | \-\-section\-headers
+.RB "| " \-\-headers "\|]"
+.RB "[\|" \-i | \-\-info "\|]"
.RB "[\|" "\-j\ "\c
.I section\c
+.RB " | " "\-\-section="\c
+.I section\c
\&\|]
-.RB "[\|" \-l "\|]"
+.RB "[\|" \-l | \-\-line\-numbers "\|]"
.RB "[\|" "\-m\ "\c
.I machine\c
+.RB " | " "\-\-architecture="\c
+.I machine\c
\&\|]
-.RB "[\|" \-r | --reloc "\|]"
-.RB "[\|" \-s "\|]"
-.RB "[\|" \--stabs "\|]"
-.RB "[\|" \-t | --syms "\|]"
-.RB "[\|" \-x "\|]"
-.I objfiles\c
+.RB "[\|" \-p | \-\-private\-headers "\|]"
+.RB "[\|" \-\-prefix\-addresses "\|]"
+.RB "[\|" \-r | \-\-reloc "\|]"
+.RB "[\|" \-R | \-\-dynamic\-reloc "\|]"
+.RB "[\|" \-s | \-\-full\-contents "\|]"
+.RB "[\|" \-S | \-\-source "\|]"
+.RB "[\|" \-\-[no\-]show\-raw\-insn "\|]"
+.RB "[\|" \-\-stabs "\|]"
+.RB "[\|" \-t | \-\-syms "\|]"
+.RB "[\|" \-T | \-\-dynamic\-syms "\|]"
+.RB "[\|" \-x | \-\-all\-headers "\|]"
+.RB "[\|" "\-\-start\-address="\c
+.I address\c
+\&\|]
+.RB "[\|" "\-\-stop\-address="\c
+.I address\c
+\&\|]
+.RB "[\|" "\-\-adjust\-vma="\c
+.I offset\c
+\&\|]
+.RB "[\|" \-\-version "\|]"
+.RB "[\|" \-\-help "\|]"
+.I objfile\c
\&.\|.\|.
.ad b
.hy 1
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.
-.SH OPTIONS
-Where long and short forms of an option are shown together, they are
-equivalent.
-
-.TP
-.IR "objfiles" .\|.\|.
-The object files to be examined. When you specify archives,
+.PP
+.IR "objfile" .\|.\|.
+are the object files to be examined. When you specify archives,
\c
.B objdump\c
\& shows information on each of the member object files.
+.SH OPTIONS
+Where long and short forms of an option are shown together, they are
+equivalent. At least one option besides
+.B \-l
+(\fB\-\-line\-numbers\fP) must be given.
+
.TP
.B \-a
+.TP
+.B \-\-archive\-headers
If any files from \c
-.I objfiles\c
+.I objfile\c
\& are archives, display the archive
header information (in a format similar to `\|\c
.B ls \-l\c
the object file format of each archive member.
.TP
-.BI "-b " "bfdname"\c
-\&
-You can specify a particular object-code format for your object files as
+.BI "\-\-adjust\-vma=" "offset"
+When dumping information, first add
+.I 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.
+
+.TP
+.BI "\-b " "bfdname"\c
+.TP
+.BI "\-\-target=" "bfdname"
+Specify the object-code format for the object files to be
\c
.I bfdname\c
\&. This may not be necessary; \c
objdump\ \-b\ oasys\ \-m\ vax\ \-h\ fu.o
.br
.sp
-
-Displays summary information from the section headers (`\|\c
+display summary information from the section headers (`\|\c
.B \-h\c
\|') of
`\|\c
.B \-i\c
\|' option.
+.TP
+.B \-C
+.TP
+.B \-\-demangle
+Decode (\fIdemangle\fP) low-level symbol names into user-level names.
+Besides removing any initial underscore prepended by the system, this
+makes C++ function names readable.
+
+.TP
+.B \-\-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 implemented.
+
.TP
.B \-d
-Disassemble. Display the assembler mnemonics for the machine
+.TP
+.B \-\-disassemble
+Display the assembler mnemonics for the machine
instructions from \c
-.I objfiles\c
+.I objfile\c
\&.
+This option only disassembles those sections which are
+expected to contain instructions.
+
+.TP
+.B \-D
+.TP
+.B \-\-disassemble-all
+Like \fB\-d\fP, but disassemble the contents of all sections, not just
+those expected to contain instructions.
+
+.TP
+.B \-\-prefix\-addresses
+When disassembling, print the complete address on each line. This is
+the older disassembly format.
+
+.TP
+.B \-\-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.
+
+.TP
+.B \-EB
+.TP
+.B \-EL
+.TP
+.BI "\-\-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.
.TP
.B \-f
-File header. Display summary information from the overall header of
+.TP
+.B \-\-file\-headers
+Display summary information from the overall header of
each file in \c
-.I objfiles\c
+.I objfile\c
\&.
.TP
.B \-h
.TP
-.B --header
-Header. Display summary information from the section headers of the
+.B \-\-section\-headers
+.TP
+.B \-\-headers
+Display summary information from the section headers of the
object file.
+.TP
+.B \-\-help
+Print a summary of the options to
+.B objdump
+and exit.
+
.TP
.B \-i
+.TP
+.B \-\-info
Display a list showing all architectures and object formats available
for specification with \c
.B \-b\c
\&.
.TP
-.BI "-j " "name"\c
-\&
+.BI "\-j " "name"\c
+.TP
+.BI "\-\-section=" "name"
Display information only for section \c
.I name\c
-\&
+\&.
.TP
.B \-l
-Label the display (using debugging information) with the source filename
-and line numbers corresponding to the object code shown.
+.TP
+.B \-\-line\-numbers
+Label the display (using debugging information) with the filename
+and source line numbers corresponding to the object code shown.
+Only useful with \fB\-d\fP, \fB\-D\fP, or \fB\-r\fP.
.TP
-.BI "-m " "machine"\c
-\&
-Specify the object files \c
-.I objfiles\c
-\& are for architecture
-\c
-.I machine\c
-\&. You can list available architectures using the `\|\c
-.B \-i\c
-\|'
-option.
+.BI "\-m " "machine"\c
+.TP
+.BI "\-\-architecture=" "machine"
+Specify the architecture to use when disassembling object files. This
+can be useful when disassembling object files which do not describe
+architecture information, such as S-records. You can list the available
+architectures with the \fB\-i\fP option.
+
+.TP
+.B \-p
+.TP
+.B \-\-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.
.TP
.B \-r
.TP
-.B --reloc
-Relocation. Print the relocation entries of the file.
+.B \-\-reloc
+Print the relocation entries of the file. If used with \fB\-d\fP or
+\fB\-D\fP, the relocations are printed interspersed with the
+disassembly.
+
+.TP
+.B \-R
+.TP
+.B \-\-dynamic\-reloc
+Print the dynamic relocation entries of the file. This is only
+meaningful for dynamic objects, such as certain types of shared
+libraries.
.TP
.B \-s
+.TP
+.B \-\-full\-contents
Display the full contents of any sections requested.
.TP
-.B \--stabs
+.B \-S
+.TP
+.B \-\-source
+Display source code intermixed with disassembly, if possible. Implies
+\fB-d\fP.
+
+.TP
+.B \-\-show\-raw\-insn
+When disassembling instructions, print the instruction in hex as well as
+in symbolic form. This is the default except when
+.B \-\-prefix\-addresses
+is used.
+
+.TP
+.B \-\-no\-show\-raw\-insn
+When disassembling instructions, do not print the instruction bytes.
+This is the default when
+.B \-\-prefix\-addresses
+is used.
+
+.TP
+.B \-\-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, debugging symbol-table
entries are interleaved with linkage symbols, and are visible in the
---syms output.
+.B \-\-syms
+output.
+
+.TP
+.BI "\-\-start\-address=" "address"
+Start displaying data at the specified address. This affects the output
+of the
+.B \-d\c
+,
+.B \-r
+and
+.B \-s
+options.
+
+.TP
+.BI "\-\-stop\-address=" "address"
+Stop displaying data at the specified address. This affects the output
+of the
+.B \-d\c
+,
+.B \-r
+and
+.B \-s
+options.
.TP
.B \-t
.TP
-.B --syms
+.B \-\-syms
Symbol Table. Print the symbol table entries of the file.
This is similar to the information provided by the `\|\c
.B nm\c
\|' program.
+.TP
+.B \-T
+.TP
+.B \-\-dynamic\-syms
+Dynamic Symbol Table. 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 `\|\c
+.B nm\c
+\|' program when given the
+.B \-D (\-\-dynamic)
+option.
+
+.TP
+.B \-\-version
+Print the version number of
+.B objdump
+and exit.
+
.TP
.B \-x
+.TP
+.B \-\-all\-headers
Display all available header information, including the symbol table and
relocation entries. Using `\|\c
.B \-x\c
.B \-a \-f \-h \-r \-t\c
\|'.
-.PP
-
.SH "SEE ALSO"
.RB "`\|" binutils "\|'"
entry in
.BR nm "(" 1 ")."
.SH COPYING
-Copyright (c) 1991 Free Software Foundation, Inc.
+Copyright (c) 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
.PP
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice