The objdump(1) utility displays information about one or
more object files. The options determine which information is
displayed. This information is useful primarily to programmers who
are working on the compilation tools. It is less useful for those
who just want a program to compile and work.
Objfile... are the object files to be examined. When you
specify archives, objdump(1) shows information on each of
the member object files.
Where long and short forms of an option are shown together, 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-1).
Besides the information you could list with ar tv,
objdump(1) -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. This can occur when putting
sections at particular addresses using a format that cannot
represent section addresses, such as a.out.
-bbfdname, --target=bfdname
Specify the object-code format for the object files to be
bfdname. This might not be necessary; objdump(1) 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 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 underscore prepended by the
system, this makes C++ function 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
implemented.
-d, --disassemble
Display the assembler mnemonics for the machine instructions
from objfile. This option only disassembles those sections
that are expected to contain instructions.
-D, --disassemble-all
Like -d, but disassemble the contents of all sections,
not just those expected to contain instructions.
--disassemble-zeroes
Usually, the disassembly output will skip blocks of zeroes.
This option directs the disassembler to disassemble those blocks,
just as it would any other data.
-EB, --endian=big
-EL, --endian=little
Specify the byte order of the object files. This only affects
disassembly. This can be useful when disassembling a file format
that does not describe byte order 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 headers of the
object file.
--help
Print a summary of the options to objdump(1) and
exit.
-i, --info
Display a list showing all architectures and object formats
available for specification with -b or -m.
-jname, --section=name
Display information only for section name.
-l, --line-numbers
Label the display (using debugging information) with the file
name and source line numbers corresponding to the object code
shown. Only useful with -d, -D, or -r.
-mmachine,
--architecture=machine
Specify the architecture to use when disassembling object
files. This can be useful when disassembling object files that do
not describe architecture information, such as S-records. You can
list the available architectures with the -i option.
--prefix-addresses
When disassembling, print the complete address on each line.
This is the older disassembly format.
-r, --reloc
Print the relocation entries of the file. If used with
-d or -d, the relocations are printed interspersed
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
hexadecimal 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 --prefix-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, debugging
symbol-table entries are interleaved with linkage symbols, 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
Symbol Table. Print the symbol table entries of the file. This
is similar to the information provided by the nm(1)
program.
-T, --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 nm(1) program when given the
-D (--dynamic) option.
--version
Print the version number of objdump(1) 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.
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 versions
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 conditions for
modified versions, except that this permission notice may be
included in translations approved by the Free Software Foundation
instead of in the original English.