1688 lines
43 KiB
HTML
1688 lines
43 KiB
HTML
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<HTML><HEAD><TITLE>Man page of OBJDUMP</TITLE>
|
|
</HEAD><BODY>
|
|
<H1>OBJDUMP</H1>
|
|
Section: GNU Development Tools (1)<BR>Updated: 2021-01-21<BR><A HREF="#index">Index</A>
|
|
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<A NAME="lbAB"> </A>
|
|
<H2>NAME</H2>
|
|
|
|
objdump - display information from object files
|
|
<A NAME="lbAC"> </A>
|
|
<H2>SYNOPSIS</H2>
|
|
|
|
|
|
|
|
objdump [<B>-a</B>|<B>--archive-headers</B>]
|
|
<BR> [<B>-b</B> <I>bfdname</I>|<B>--target=</B><I>bfdname</I>]
|
|
<BR> [<B>-C</B>|<B>--demangle</B>[=<I>style</I>] ]
|
|
<BR> [<B>-d</B>|<B>--disassemble</B>[=<I>symbol</I>]]
|
|
<BR> [<B>-D</B>|<B>--disassemble-all</B>]
|
|
<BR> [<B>-z</B>|<B>--disassemble-zeroes</B>]
|
|
<BR> [<B>-EB</B>|<B>-EL</B>|<B>--endian=</B>{big | little }]
|
|
<BR> [<B>-f</B>|<B>--file-headers</B>]
|
|
<BR> [<B>-F</B>|<B>--file-offsets</B>]
|
|
<BR> [<B>--file-start-context</B>]
|
|
<BR> [<B>-g</B>|<B>--debugging</B>]
|
|
<BR> [<B>-e</B>|<B>--debugging-tags</B>]
|
|
<BR> [<B>-h</B>|<B>--section-headers</B>|<B>--headers</B>]
|
|
<BR> [<B>-i</B>|<B>--info</B>]
|
|
<BR> [<B>-j</B> <I>section</I>|<B>--section=</B><I>section</I>]
|
|
<BR> [<B>-l</B>|<B>--line-numbers</B>]
|
|
<BR> [<B>-S</B>|<B>--source</B>]
|
|
<BR> [<B>--source-comment</B>[=<I>text</I>]]
|
|
<BR> [<B>-m</B> <I>machine</I>|<B>--architecture=</B><I>machine</I>]
|
|
<BR> [<B>-M</B> <I>options</I>|<B>--disassembler-options=</B><I>options</I>]
|
|
<BR> [<B>-p</B>|<B>--private-headers</B>]
|
|
<BR> [<B>-P</B> <I>options</I>|<B>--private=</B><I>options</I>]
|
|
<BR> [<B>-r</B>|<B>--reloc</B>]
|
|
<BR> [<B>-R</B>|<B>--dynamic-reloc</B>]
|
|
<BR> [<B>-s</B>|<B>--full-contents</B>]
|
|
<BR> [<B>-W[lLiaprmfFsoRtUuTgAckK]</B>|
|
|
<BR> <B>--dwarf</B>[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links,=follow-links]]
|
|
<BR> [<B>--ctf=</B><I>section</I>]
|
|
<BR> [<B>-G</B>|<B>--stabs</B>]
|
|
<BR> [<B>-t</B>|<B>--syms</B>]
|
|
<BR> [<B>-T</B>|<B>--dynamic-syms</B>]
|
|
<BR> [<B>-x</B>|<B>--all-headers</B>]
|
|
<BR> [<B>-w</B>|<B>--wide</B>]
|
|
<BR> [<B>--start-address=</B><I>address</I>]
|
|
<BR> [<B>--stop-address=</B><I>address</I>]
|
|
<BR> [<B>--prefix-addresses</B>]
|
|
<BR> [<B>--[no-]show-raw-insn</B>]
|
|
<BR> [<B>--adjust-vma=</B><I>offset</I>]
|
|
<BR> [<B>--dwarf-depth=</B><I>n</I>]
|
|
<BR> [<B>--dwarf-start=</B><I>n</I>]
|
|
<BR> [<B>--ctf-parent=</B><I>section</I>]
|
|
<BR> [<B>--no-recurse-limit</B>|<B>--recurse-limit</B>]
|
|
<BR> [<B>--special-syms</B>]
|
|
<BR> [<B>--prefix=</B><I>prefix</I>]
|
|
<BR> [<B>--prefix-strip=</B><I>level</I>]
|
|
<BR> [<B>--insn-width=</B><I>width</I>]
|
|
<BR> [<B>--visualize-jumps[=color|=extended-color|=off]</B>
|
|
<BR> [<B>-V</B>|<B>--version</B>]
|
|
<BR> [<B>-H</B>|<B>--help</B>]
|
|
<BR> <I>objfile</I>...
|
|
<A NAME="lbAD"> </A>
|
|
<H2>DESCRIPTION</H2>
|
|
|
|
|
|
|
|
<B>objdump</B> 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.
|
|
<P>
|
|
|
|
<I>objfile</I>... are the object files to be examined. When you
|
|
specify archives, <B>objdump</B> shows information on each of the member
|
|
object files.
|
|
<A NAME="lbAE"> </A>
|
|
<H2>OPTIONS</H2>
|
|
|
|
|
|
|
|
The long and short forms of options, shown here as alternatives, are
|
|
equivalent. At least one option from the list
|
|
<B>-a,-d,-D,-e,-f,-g,-G,-h,-H,-p,-P,-r,-R,-s,-S,-t,-T,-V,-x</B> must be given.
|
|
<DL COMPACT>
|
|
<DT id="1"><B>-a</B><DD>
|
|
|
|
|
|
|
|
<DT id="2"><B>--archive-header</B><DD>
|
|
|
|
|
|
|
|
If any of the <I>objfile</I> files are archives, display the archive
|
|
header information (in a format similar to <B>ls -l</B>). Besides the
|
|
information you could list with <B>ar tv</B>, <B>objdump -a</B> shows
|
|
the object file format of each archive member.
|
|
<DT id="3"><B>--adjust-vma=</B><I>offset</I><DD>
|
|
|
|
|
|
When dumping information, first add <I>offset</I> 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.
|
|
<DT id="4"><B>-b</B> <I>bfdname</I><DD>
|
|
|
|
|
|
|
|
<DT id="5"><B>--target=</B><I>bfdname</I><DD>
|
|
|
|
|
|
|
|
Specify that the object-code format for the object files is
|
|
<I>bfdname</I>. This option may not be necessary; <I>objdump</I> can
|
|
automatically recognize many formats.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
For example,
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
|
|
<PRE>
|
|
objdump -b oasys -m vax -h fu.o
|
|
|
|
</PRE>
|
|
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
displays summary information from the section headers (<B>-h</B>) of
|
|
<I>fu.o</I>, which is explicitly identified (<B>-m</B>) as a <FONT SIZE="-1">VAX</FONT> object
|
|
file in the format produced by Oasys compilers. You can list the
|
|
formats available with the <B>-i</B> option.
|
|
<DT id="6"><B>-C</B><DD>
|
|
|
|
|
|
|
|
<DT id="7"><B>--demangle[=</B><I>style</I><B>]</B><DD>
|
|
|
|
|
|
|
|
Decode (<I>demangle</I>) low-level symbol names into user-level names.
|
|
Besides removing any initial underscore prepended by the system, this
|
|
makes C<FONT SIZE="-2">++</FONT> 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.
|
|
<DT id="8"><B>--recurse-limit</B><DD>
|
|
|
|
|
|
|
|
<DT id="9"><B>--no-recurse-limit</B><DD>
|
|
|
|
|
|
<DT id="10"><B>--recursion-limit</B><DD>
|
|
|
|
|
|
<DT id="11"><B>--no-recursion-limit</B><DD>
|
|
|
|
|
|
|
|
Enables or disables a limit on the amount of recursion performed
|
|
whilst demangling strings. Since the name mangling formats allow for
|
|
an inifinite level of recursion it is possible to create strings whose
|
|
decoding will exhaust the amount of stack space available on the host
|
|
machine, triggering a memory fault. The limit tries to prevent this
|
|
from happening by restricting recursion to 2048 levels of nesting.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
The default is for this limit to be enabled, but disabling it may be
|
|
necessary in order to demangle truly complicated names. Note however
|
|
that if the recursion limit is disabled then stack exhaustion is
|
|
possible and any bug reports about such an event will be rejected.
|
|
<DT id="12"><B>-g</B><DD>
|
|
|
|
|
|
|
|
<DT id="13"><B>--debugging</B><DD>
|
|
|
|
|
|
|
|
Display debugging information. This attempts to parse <FONT SIZE="-1">STABS</FONT>
|
|
debugging format information stored in the file and print it out using
|
|
a C like syntax. If no <FONT SIZE="-1">STABS</FONT> debuging was found this option
|
|
falls back on the <B>-W</B> option to print any <FONT SIZE="-1">DWARF</FONT> information in
|
|
the file.
|
|
<DT id="14"><B>-e</B><DD>
|
|
|
|
|
|
|
|
<DT id="15"><B>--debugging-tags</B><DD>
|
|
|
|
|
|
|
|
Like <B>-g</B>, but the information is generated in a format compatible
|
|
with ctags tool.
|
|
<DT id="16"><B>-d</B><DD>
|
|
|
|
|
|
|
|
<DT id="17"><B>--disassemble</B><DD>
|
|
|
|
|
|
<DT id="18"><B>--disassemble=</B><I>symbol</I><DD>
|
|
|
|
|
|
|
|
Display the assembler mnemonics for the machine instructions from the
|
|
input file. This option only disassembles those sections which are
|
|
expected to contain instructions. If the optional <I>symbol</I>
|
|
argument is given, then display the assembler mnemonics starting at
|
|
<I>symbol</I>. If <I>symbol</I> is a function name then disassembly
|
|
will stop at the end of the function, otherwise it will stop when the
|
|
next symbol is encountered. If there are no matches for <I>symbol</I>
|
|
then nothing will be displayed.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
Note if the <B>--dwarf=follow-links</B> option has also been enabled
|
|
then any symbol tables in linked debug info files will be read in and
|
|
used when disassembling.
|
|
<DT id="19"><B>-D</B><DD>
|
|
|
|
|
|
|
|
<DT id="20"><B>--disassemble-all</B><DD>
|
|
|
|
|
|
|
|
Like <B>-d</B>, but disassemble the contents of all sections, not just
|
|
those expected to contain instructions.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
This option also has a subtle effect on the disassembly of
|
|
instructions in code sections. When option <B>-d</B> is in effect
|
|
objdump will assume that any symbols present in a code section occur
|
|
on the boundary between instructions and it will refuse to disassemble
|
|
across such a boundary. When option <B>-D</B> is in effect however
|
|
this assumption is supressed. This means that it is possible for the
|
|
output of <B>-d</B> and <B>-D</B> to differ if, for example, data
|
|
is stored in code sections.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
If the target is an <FONT SIZE="-1">ARM</FONT> architecture this switch also has the effect
|
|
of forcing the disassembler to decode pieces of data found in code
|
|
sections as if they were instructions.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
Note if the <B>--dwarf=follow-links</B> option has also been enabled
|
|
then any symbol tables in linked debug info files will be read in and
|
|
used when disassembling.
|
|
<DT id="21"><B>--prefix-addresses</B><DD>
|
|
|
|
|
|
When disassembling, print the complete address on each line. This is
|
|
the older disassembly format.
|
|
<DT id="22"><B>-EB</B><DD>
|
|
|
|
|
|
|
|
<DT id="23"><B>-EL</B><DD>
|
|
|
|
|
|
<DT id="24"><B>--endian={big|little}</B><DD>
|
|
|
|
|
|
|
|
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.
|
|
<DT id="25"><B>-f</B><DD>
|
|
|
|
|
|
|
|
<DT id="26"><B>--file-headers</B><DD>
|
|
|
|
|
|
|
|
Display summary information from the overall header of
|
|
each of the <I>objfile</I> files.
|
|
<DT id="27"><B>-F</B><DD>
|
|
|
|
|
|
|
|
<DT id="28"><B>--file-offsets</B><DD>
|
|
|
|
|
|
|
|
When disassembling sections, whenever a symbol is displayed, also
|
|
display the file offset of the region of data that is about to be
|
|
dumped. If zeroes are being skipped, then when disassembly resumes,
|
|
tell the user how many zeroes were skipped and the file offset of the
|
|
location from where the disassembly resumes. When dumping sections,
|
|
display the file offset of the location from where the dump starts.
|
|
<DT id="29"><B>--file-start-context</B><DD>
|
|
|
|
|
|
Specify that when displaying interlisted source code/disassembly
|
|
(assumes <B>-S</B>) from a file that has not yet been displayed, extend the
|
|
context to the start of the file.
|
|
<DT id="30"><B>-h</B><DD>
|
|
|
|
|
|
|
|
<DT id="31"><B>--section-headers</B><DD>
|
|
|
|
|
|
<DT id="32"><B>--headers</B><DD>
|
|
|
|
|
|
|
|
Display summary information from the section headers of the
|
|
object file.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
File segments may be relocated to nonstandard addresses, for example by
|
|
using the <B>-Ttext</B>, <B>-Tdata</B>, or <B>-Tbss</B> options to
|
|
<B>ld</B>. However, some object file formats, such as a.out, do not
|
|
store the starting address of the file segments. In those situations,
|
|
although <B>ld</B> relocates the sections correctly, using <B>objdump
|
|
-h</B> to list the file section headers cannot show the correct addresses.
|
|
Instead, it shows the usual addresses, which are implicit for the
|
|
target.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
Note, in some cases it is possible for a section to have both the
|
|
<FONT SIZE="-1">READONLY</FONT> and the <FONT SIZE="-1">NOREAD</FONT> attributes set. In such cases the <FONT SIZE="-1">NOREAD</FONT>
|
|
attribute takes precedence, but <B>objdump</B> will report both
|
|
since the exact setting of the flag bits might be important.
|
|
<DT id="33"><B>-H</B><DD>
|
|
|
|
|
|
|
|
<DT id="34"><B>--help</B><DD>
|
|
|
|
|
|
|
|
Print a summary of the options to <B>objdump</B> and exit.
|
|
<DT id="35"><B>-i</B><DD>
|
|
|
|
|
|
|
|
<DT id="36"><B>--info</B><DD>
|
|
|
|
|
|
|
|
Display a list showing all architectures and object formats available
|
|
for specification with <B>-b</B> or <B>-m</B>.
|
|
<DT id="37"><B>-j</B> <I>name</I><DD>
|
|
|
|
|
|
|
|
<DT id="38"><B>--section=</B><I>name</I><DD>
|
|
|
|
|
|
|
|
Display information only for section <I>name</I>.
|
|
<DT id="39"><B>-l</B><DD>
|
|
|
|
|
|
|
|
<DT id="40"><B>--line-numbers</B><DD>
|
|
|
|
|
|
|
|
Label the display (using debugging information) with the filename and
|
|
source line numbers corresponding to the object code or relocs shown.
|
|
Only useful with <B>-d</B>, <B>-D</B>, or <B>-r</B>.
|
|
<DT id="41"><B>-m</B> <I>machine</I><DD>
|
|
|
|
|
|
|
|
<DT id="42"><B>--architecture=</B><I>machine</I><DD>
|
|
|
|
|
|
|
|
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 <B>-i</B> option.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
If the target is an <FONT SIZE="-1">ARM</FONT> architecture then this switch has an
|
|
additional effect. It restricts the disassembly to only those
|
|
instructions supported by the architecture specified by <I>machine</I>.
|
|
If it is necessary to use this switch because the input file does not
|
|
contain any architecture information, but it is also desired to
|
|
disassemble all the instructions use <B>-marm</B>.
|
|
<DT id="43"><B>-M</B> <I>options</I><DD>
|
|
|
|
|
|
|
|
<DT id="44"><B>--disassembler-options=</B><I>options</I><DD>
|
|
|
|
|
|
|
|
Pass target specific information to the disassembler. Only supported on
|
|
some targets. If it is necessary to specify more than one
|
|
disassembler option then multiple <B>-M</B> options can be used or
|
|
can be placed together into a comma separated list.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
For <FONT SIZE="-1">ARC,</FONT> <B>dsp</B> controls the printing of <FONT SIZE="-1">DSP</FONT> instructions,
|
|
<B>spfp</B> selects the printing of <FONT SIZE="-1">FPX</FONT> single precision <FONT SIZE="-1">FP</FONT>
|
|
instructions, <B>dpfp</B> selects the printing of <FONT SIZE="-1">FPX</FONT> double
|
|
precision <FONT SIZE="-1">FP</FONT> instructions, <B>quarkse_em</B> selects the printing of
|
|
special QuarkSE-EM instructions, <B>fpuda</B> selects the printing
|
|
of double precision assist instructions, <B>fpus</B> selects the
|
|
printing of <FONT SIZE="-1">FPU</FONT> single precision <FONT SIZE="-1">FP</FONT> instructions, while <B>fpud</B>
|
|
selects the printing of <FONT SIZE="-1">FPU</FONT> double precision <FONT SIZE="-1">FP</FONT> instructions.
|
|
Additionally, one can choose to have all the immediates printed in
|
|
hexadecimal using <B>hex</B>. By default, the short immediates are
|
|
printed using the decimal representation, while the long immediate
|
|
values are printed as hexadecimal.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
<B>cpu=...</B> allows to enforce a particular <FONT SIZE="-1">ISA</FONT> when disassembling
|
|
instructions, overriding the <B>-m</B> value or whatever is in the <FONT SIZE="-1">ELF</FONT> file.
|
|
This might be useful to select <FONT SIZE="-1">ARC EM</FONT> or <FONT SIZE="-1">HS ISA,</FONT> because architecture is same
|
|
for those and disassembler relies on private <FONT SIZE="-1">ELF</FONT> header data to decide if code
|
|
is for <FONT SIZE="-1">EM</FONT> or <FONT SIZE="-1">HS.</FONT> This option might be specified multiple times - only the
|
|
latest value will be used. Valid values are same as for the assembler
|
|
<B>-mcpu=...</B> option.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
If the target is an <FONT SIZE="-1">ARM</FONT> architecture then this switch can be used to
|
|
select which register name set is used during disassembler. Specifying
|
|
<B>-M reg-names-std</B> (the default) will select the register names as
|
|
used in <FONT SIZE="-1">ARM</FONT>'s instruction set documentation, but with register 13 called
|
|
'sp', register 14 called 'lr' and register 15 called 'pc'. Specifying
|
|
<B>-M reg-names-apcs</B> will select the name set used by the <FONT SIZE="-1">ARM</FONT>
|
|
Procedure Call Standard, whilst specifying <B>-M reg-names-raw</B> will
|
|
just use <B>r</B> followed by the register number.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
There are also two variants on the <FONT SIZE="-1">APCS</FONT> register naming scheme enabled
|
|
by <B>-M reg-names-atpcs</B> and <B>-M reg-names-special-atpcs</B> which
|
|
use the ARM/Thumb Procedure Call Standard naming conventions. (Either
|
|
with the normal register names or the special register names).
|
|
|
|
|
|
<P>
|
|
|
|
|
|
This option can also be used for <FONT SIZE="-1">ARM</FONT> architectures to force the
|
|
disassembler to interpret all instructions as Thumb instructions by
|
|
using the switch <B>--disassembler-options=force-thumb</B>. This can be
|
|
useful when attempting to disassemble thumb code produced by other
|
|
compilers.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
For AArch64 targets this switch can be used to set whether instructions are
|
|
disassembled as the most general instruction using the <B>-M no-aliases</B>
|
|
option or whether instruction notes should be generated as comments in the
|
|
disasssembly using <B>-M notes</B>.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
For the x86, some of the options duplicate functions of the <B>-m</B>
|
|
switch, but allow finer grained control. Multiple selections from the
|
|
following may be specified as a comma separated string.
|
|
<DL COMPACT><DT id="45"><DD>
|
|
<DL COMPACT>
|
|
<DT id="46">"x86-64"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="47">"i386"<DD>
|
|
|
|
|
|
|
|
|
|
<DT id="48">"i8086"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
Select disassembly for the given architecture.
|
|
<DT id="49">"intel"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="50">"att"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
Select between intel syntax mode and <FONT SIZE="-1">AT&T</FONT> syntax mode.
|
|
<DT id="51">"amd64"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="52">"intel64"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
Select between <FONT SIZE="-1">AMD64 ISA</FONT> and Intel64 <FONT SIZE="-1">ISA.</FONT>
|
|
<DT id="53">"intel-mnemonic"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="54">"att-mnemonic"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
Select between intel mnemonic mode and <FONT SIZE="-1">AT&T</FONT> mnemonic mode.
|
|
Note: <TT>"intel-mnemonic"</TT> implies <TT>"intel"</TT> and
|
|
<TT>"att-mnemonic"</TT> implies <TT>"att"</TT>.
|
|
<DT id="55">"addr64"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="56">"addr32"<DD>
|
|
|
|
|
|
|
|
|
|
<DT id="57">"addr16"<DD>
|
|
|
|
|
|
|
|
|
|
<DT id="58">"data32"<DD>
|
|
|
|
|
|
|
|
|
|
<DT id="59">"data16"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
Specify the default address size and operand size. These five options
|
|
will be overridden if <TT>"x86-64"</TT>, <TT>"i386"</TT> or <TT>"i8086"</TT>
|
|
appear later in the option string.
|
|
<DT id="60">"suffix"<DD>
|
|
|
|
|
|
|
|
|
|
When in <FONT SIZE="-1">AT&T</FONT> mode, instructs the disassembler to print a mnemonic
|
|
suffix even when the suffix could be inferred by the operands.
|
|
</DL>
|
|
</DL>
|
|
|
|
<DL COMPACT><DT id="61"><DD>
|
|
|
|
|
|
<P>
|
|
|
|
|
|
For PowerPC, the <B>-M</B> argument <B>raw</B> selects
|
|
disasssembly of hardware insns rather than aliases. For example, you
|
|
will see <TT>"rlwinm"</TT> rather than <TT>"clrlwi"</TT>, and <TT>"addi"</TT>
|
|
rather than <TT>"li"</TT>. All of the <B>-m</B> arguments for
|
|
<B>gas</B> that select a <FONT SIZE="-1">CPU</FONT> are supported. These are:
|
|
<B>403</B>, <B>405</B>, <B>440</B>, <B>464</B>, <B>476</B>,
|
|
<B>601</B>, <B>603</B>, <B>604</B>, <B>620</B>, <B>7400</B>,
|
|
<B>7410</B>, <B>7450</B>, <B>7455</B>, <B>750cl</B>,
|
|
<B>821</B>, <B>850</B>, <B>860</B>, <B>a2</B>, <B>booke</B>,
|
|
<B>booke32</B>, <B>cell</B>, <B>com</B>, <B>e200z4</B>,
|
|
<B>e300</B>, <B>e500</B>, <B>e500mc</B>, <B>e500mc64</B>,
|
|
<B>e500x2</B>, <B>e5500</B>, <B>e6500</B>, <B>efs</B>,
|
|
<B>power4</B>, <B>power5</B>, <B>power6</B>, <B>power7</B>,
|
|
<B>power8</B>, <B>power9</B>, <B>ppc</B>, <B>ppc32</B>,
|
|
<B>ppc64</B>, <B>ppc64bridge</B>, <B>ppcps</B>, <B>pwr</B>,
|
|
<B>pwr2</B>, <B>pwr4</B>, <B>pwr5</B>, <B>pwr5x</B>,
|
|
<B>pwr6</B>, <B>pwr7</B>, <B>pwr8</B>, <B>pwr9</B>,
|
|
<B>pwrx</B>, <B>titan</B>, and <B>vle</B>.
|
|
<B>32</B> and <B>64</B> modify the default or a prior <FONT SIZE="-1">CPU</FONT>
|
|
selection, disabling and enabling 64-bit insns respectively. In
|
|
addition, <B>altivec</B>, <B>any</B>, <B>htm</B>, <B>vsx</B>,
|
|
and <B>spe</B> add capabilities to a previous <I>or later</I> <FONT SIZE="-1">CPU</FONT>
|
|
selection. <B>any</B> will disassemble any opcode known to
|
|
binutils, but in cases where an opcode has two different meanings or
|
|
different arguments, you may not see the disassembly you expect.
|
|
If you disassemble without giving a <FONT SIZE="-1">CPU</FONT> selection, a default will be
|
|
chosen from information gleaned by <FONT SIZE="-1">BFD</FONT> from the object files headers,
|
|
but the result again may not be as you expect.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
For <FONT SIZE="-1">MIPS,</FONT> this option controls the printing of instruction mnemonic
|
|
names and register names in disassembled instructions. Multiple
|
|
selections from the following may be specified as a comma separated
|
|
string, and invalid options are ignored:
|
|
<DL COMPACT>
|
|
<DT id="62">"no-aliases"<DD>
|
|
|
|
|
|
|
|
|
|
Print the 'raw' instruction mnemonic instead of some pseudo
|
|
instruction mnemonic. I.e., print 'daddu' or 'or' instead of 'move',
|
|
'sll' instead of 'nop', etc.
|
|
<DT id="63">"msa"<DD>
|
|
|
|
|
|
|
|
|
|
Disassemble <FONT SIZE="-1">MSA</FONT> instructions.
|
|
<DT id="64">"virt"<DD>
|
|
|
|
|
|
|
|
|
|
Disassemble the virtualization <FONT SIZE="-1">ASE</FONT> instructions.
|
|
<DT id="65">"xpa"<DD>
|
|
|
|
|
|
|
|
|
|
Disassemble the eXtended Physical Address (<FONT SIZE="-1">XPA</FONT>) <FONT SIZE="-1">ASE</FONT> instructions.
|
|
<DT id="66">"gpr-names=<I>ABI</I>"<DD>
|
|
|
|
|
|
|
|
|
|
Print <FONT SIZE="-1">GPR</FONT> (general-purpose register) names as appropriate
|
|
for the specified <FONT SIZE="-1">ABI.</FONT> By default, <FONT SIZE="-1">GPR</FONT> names are selected according to
|
|
the <FONT SIZE="-1">ABI</FONT> of the binary being disassembled.
|
|
<DT id="67">"fpr-names=<I>ABI</I>"<DD>
|
|
|
|
|
|
|
|
|
|
Print <FONT SIZE="-1">FPR</FONT> (floating-point register) names as
|
|
appropriate for the specified <FONT SIZE="-1">ABI.</FONT> By default, <FONT SIZE="-1">FPR</FONT> numbers are printed
|
|
rather than names.
|
|
<DT id="68">"cp0-names=<I>ARCH</I>"<DD>
|
|
|
|
|
|
|
|
|
|
Print <FONT SIZE="-1">CP0</FONT> (system control coprocessor; coprocessor 0) register names
|
|
as appropriate for the <FONT SIZE="-1">CPU</FONT> or architecture specified by
|
|
<I></I><FONT SIZE="-1"><I>ARCH</I></FONT><I></I>. By default, <FONT SIZE="-1">CP0</FONT> register names are selected according to
|
|
the architecture and <FONT SIZE="-1">CPU</FONT> of the binary being disassembled.
|
|
<DT id="69">"hwr-names=<I>ARCH</I>"<DD>
|
|
|
|
|
|
|
|
|
|
Print <FONT SIZE="-1">HWR</FONT> (hardware register, used by the <TT>"rdhwr"</TT> instruction) names
|
|
as appropriate for the <FONT SIZE="-1">CPU</FONT> or architecture specified by
|
|
<I></I><FONT SIZE="-1"><I>ARCH</I></FONT><I></I>. By default, <FONT SIZE="-1">HWR</FONT> names are selected according to
|
|
the architecture and <FONT SIZE="-1">CPU</FONT> of the binary being disassembled.
|
|
<DT id="70">"reg-names=<I>ABI</I>"<DD>
|
|
|
|
|
|
|
|
|
|
Print <FONT SIZE="-1">GPR</FONT> and <FONT SIZE="-1">FPR</FONT> names as appropriate for the selected <FONT SIZE="-1">ABI.</FONT>
|
|
<DT id="71">"reg-names=<I>ARCH</I>"<DD>
|
|
|
|
|
|
|
|
|
|
Print CPU-specific register names (<FONT SIZE="-1">CP0</FONT> register and <FONT SIZE="-1">HWR</FONT> names)
|
|
as appropriate for the selected <FONT SIZE="-1">CPU</FONT> or architecture.
|
|
</DL>
|
|
</DL>
|
|
|
|
<DL COMPACT><DT id="72"><DD>
|
|
|
|
|
|
<P>
|
|
|
|
|
|
For any of the options listed above, <I></I><FONT SIZE="-1"><I>ABI</I></FONT><I></I> or
|
|
<I></I><FONT SIZE="-1"><I>ARCH</I></FONT><I></I> may be specified as <B>numeric</B> to have numbers printed
|
|
rather than names, for the selected types of registers.
|
|
You can list the available values of <I></I><FONT SIZE="-1"><I>ABI</I></FONT><I></I> and <I></I><FONT SIZE="-1"><I>ARCH</I></FONT><I></I> using
|
|
the <B>--help</B> option.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
For <FONT SIZE="-1">VAX,</FONT> you can specify function entry addresses with <B>-M
|
|
entry:0xf00ba</B>. You can use this multiple times to properly
|
|
disassemble <FONT SIZE="-1">VAX</FONT> binary files that don't contain symbol tables (like
|
|
<FONT SIZE="-1">ROM</FONT> dumps). In these cases, the function entry mask would otherwise
|
|
be decoded as <FONT SIZE="-1">VAX</FONT> instructions, which would probably lead the rest
|
|
of the function being wrongly disassembled.
|
|
</DL>
|
|
|
|
<DT id="73"><B>-p</B><DD>
|
|
|
|
|
|
|
|
<DT id="74"><B>--private-headers</B><DD>
|
|
|
|
|
|
|
|
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.
|
|
<DT id="75"><B>-P</B> <I>options</I><DD>
|
|
|
|
|
|
|
|
<DT id="76"><B>--private=</B><I>options</I><DD>
|
|
|
|
|
|
|
|
Print information that is specific to the object file format. The
|
|
argument <I>options</I> is a comma separated list that depends on the
|
|
format (the lists of options is displayed with the help).
|
|
|
|
|
|
<P>
|
|
|
|
|
|
For <FONT SIZE="-1">XCOFF,</FONT> the available options are:
|
|
<DL COMPACT><DT id="77"><DD>
|
|
<DL COMPACT>
|
|
<DT id="78">"header"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="79">"aout"<DD>
|
|
|
|
|
|
|
|
|
|
<DT id="80">"sections"<DD>
|
|
|
|
|
|
|
|
|
|
<DT id="81">"syms"<DD>
|
|
|
|
|
|
|
|
|
|
<DT id="82">"relocs"<DD>
|
|
|
|
|
|
|
|
|
|
<DT id="83">"lineno,"<DD>
|
|
|
|
|
|
|
|
|
|
<DT id="84">"loader"<DD>
|
|
|
|
|
|
|
|
|
|
<DT id="85">"except"<DD>
|
|
|
|
|
|
|
|
|
|
<DT id="86">"typchk"<DD>
|
|
|
|
|
|
|
|
|
|
<DT id="87">"traceback"<DD>
|
|
|
|
|
|
|
|
|
|
<DT id="88">"toc"<DD>
|
|
|
|
|
|
|
|
|
|
<DT id="89">"ldinfo"<DD>
|
|
|
|
|
|
|
|
|
|
</DL>
|
|
</DL>
|
|
|
|
<DL COMPACT><DT id="90"><DD>
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
Not all object formats support this option. In particular the <FONT SIZE="-1">ELF</FONT>
|
|
format does not use it.
|
|
</DL>
|
|
|
|
<DT id="91"><B>-r</B><DD>
|
|
|
|
|
|
|
|
<DT id="92"><B>--reloc</B><DD>
|
|
|
|
|
|
|
|
Print the relocation entries of the file. If used with <B>-d</B> or
|
|
<B>-D</B>, the relocations are printed interspersed with the
|
|
disassembly.
|
|
<DT id="93"><B>-R</B><DD>
|
|
|
|
|
|
|
|
<DT id="94"><B>--dynamic-reloc</B><DD>
|
|
|
|
|
|
|
|
Print the dynamic relocation entries of the file. This is only
|
|
meaningful for dynamic objects, such as certain types of shared
|
|
libraries. As for <B>-r</B>, if used with <B>-d</B> or
|
|
<B>-D</B>, the relocations are printed interspersed with the
|
|
disassembly.
|
|
<DT id="95"><B>-s</B><DD>
|
|
|
|
|
|
|
|
<DT id="96"><B>--full-contents</B><DD>
|
|
|
|
|
|
|
|
Display the full contents of any sections requested. By default all
|
|
non-empty sections are displayed.
|
|
<DT id="97"><B>-S</B><DD>
|
|
|
|
|
|
|
|
<DT id="98"><B>--source</B><DD>
|
|
|
|
|
|
|
|
Display source code intermixed with disassembly, if possible. Implies
|
|
<B>-d</B>.
|
|
<DT id="99"><B>--source-comment[=</B><I>txt</I><B>]</B><DD>
|
|
|
|
|
|
Like the <B>-S</B> option, but all source code lines are displayed
|
|
with a prefix of <I>txt</I>. Typically <I>txt</I> will be a comment
|
|
string which can be used to distinguish the assembler code from the
|
|
source code. If <I>txt</I> is not provided then a default string of
|
|
<I>``# ''</I> (hash followed by a space), will be used.
|
|
<DT id="100"><B>--prefix=</B><I>prefix</I><DD>
|
|
|
|
|
|
Specify <I>prefix</I> to add to the absolute paths when used with
|
|
<B>-S</B>.
|
|
<DT id="101"><B>--prefix-strip=</B><I>level</I><DD>
|
|
|
|
|
|
Indicate how many initial directory names to strip off the hardwired
|
|
absolute paths. It has no effect without <B>--prefix=</B><I>prefix</I>.
|
|
<DT id="102"><B>--show-raw-insn</B><DD>
|
|
|
|
|
|
When disassembling instructions, print the instruction in hex as well as
|
|
in symbolic form. This is the default except when
|
|
<B>--prefix-addresses</B> is used.
|
|
<DT id="103"><B>--no-show-raw-insn</B><DD>
|
|
|
|
|
|
When disassembling instructions, do not print the instruction bytes.
|
|
This is the default when <B>--prefix-addresses</B> is used.
|
|
<DT id="104"><B>--insn-width=</B><I>width</I><DD>
|
|
|
|
|
|
Display <I>width</I> bytes on a single line when disassembling
|
|
instructions.
|
|
<DT id="105"><B>--visualize-jumps[=color|=extended-color|=off]</B><DD>
|
|
|
|
|
|
Visualize jumps that stay inside a function by drawing <FONT SIZE="-1">ASCII</FONT> art between
|
|
the start and target addresses. The optional <B>=color</B> argument
|
|
adds color to the output using simple terminal colors. Alternatively
|
|
the <B>=extended-color</B> argument will add color using 8bit
|
|
colors, but these might not work on all terminals.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
If it is necessary to disable the <B>visualize-jumps</B> option
|
|
after it has previously been enabled then use
|
|
<B>visualize-jumps=off</B>.
|
|
<DT id="106"><B>-W[lLiaprmfFsoRtUuTgAckK]</B><DD>
|
|
|
|
|
|
|
|
<DT id="107"><B>--dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links,=follow-links]</B><DD>
|
|
|
|
|
|
|
|
Displays the contents of the <FONT SIZE="-1">DWARF</FONT> debug sections in the file, if any
|
|
are present. Compressed debug sections are automatically decompressed
|
|
(temporarily) before they are displayed. If one or more of the
|
|
optional letters or words follows the switch then only those type(s)
|
|
of data will be dumped. The letters and words refer to the following
|
|
information:
|
|
<DL COMPACT><DT id="108"><DD>
|
|
<DL COMPACT>
|
|
<DT id="109">"a"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="110">"=abbrev"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
Displays the contents of the <B>.debug_abbrev</B> section.
|
|
<DT id="111">"A"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="112">"=addr"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
Displays the contents of the <B>.debug_addr</B> section.
|
|
<DT id="113">"c"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="114">"=cu_index"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
Displays the contents of the <B>.debug_cu_index</B> and/or
|
|
<B>.debug_tu_index</B> sections.
|
|
<DT id="115">"f"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="116">"=frames"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
Display the raw contents of a <B>.debug_frame</B> section.
|
|
<DT id="117">"F"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="118">"=frame-interp"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
Display the interpreted contents of a <B>.debug_frame</B> section.
|
|
<DT id="119">"g"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="120">"=gdb_index"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
Displays the contents of the <B>.gdb_index</B> and/or
|
|
<B>.debug_names</B> sections.
|
|
<DT id="121">"i"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="122">"=info"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
Displays the contents of the <B>.debug_info</B> section. Note: the
|
|
output from this option can also be restricted by the use of the
|
|
<B>--dwarf-depth</B> and <B>--dwarf-start</B> options.
|
|
<DT id="123">"k"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="124">"=links"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
Displays the contents of the <B>.gnu_debuglink</B> and/or
|
|
<B>.gnu_debugaltlink</B> sections. Also displays any links to
|
|
separate dwarf object files (dwo), if they are specified by the
|
|
DW_AT_GNU_dwo_name or DW_AT_dwo_name attributes in the
|
|
<B>.debug_info</B> section.
|
|
<DT id="125">"K"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="126">"=follow-links"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
Display the contents of any selected debug sections that are found in
|
|
linked, separate debug info file(s). This can result in multiple
|
|
versions of the same debug section being displayed if it exists in
|
|
more than one file.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
In addition, when displaying <FONT SIZE="-1">DWARF</FONT> attributes, if a form is found that
|
|
references the separate debug info file, then the referenced contents
|
|
will also be displayed.
|
|
<DT id="127">"l"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="128">"=rawline"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
Displays the contents of the <B>.debug_line</B> section in a raw
|
|
format.
|
|
<DT id="129">"L"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="130">"=decodedline"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
Displays the interpreted contents of the <B>.debug_line</B> section.
|
|
<DT id="131">"m"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="132">"=macro"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
Displays the contents of the <B>.debug_macro</B> and/or
|
|
<B>.debug_macinfo</B> sections.
|
|
<DT id="133">"o"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="134">"=loc"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
Displays the contents of the <B>.debug_loc</B> and/or
|
|
<B>.debug_loclists</B> sections.
|
|
<DT id="135">"p"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="136">"=pubnames"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
Displays the contents of the <B>.debug_pubnames</B> and/or
|
|
<B>.debug_gnu_pubnames</B> sections.
|
|
<DT id="137">"r"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="138">"=aranges"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
Displays the contents of the <B>.debug_aranges</B> section.
|
|
<DT id="139">"R"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="140">"=Ranges"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
Displays the contents of the <B>.debug_ranges</B> and/or
|
|
<B>.debug_rnglists</B> sections.
|
|
<DT id="141">"s"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="142">"=str"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
Displays the contents of the <B>.debug_str</B>, <B>.debug_line_str</B>
|
|
and/or <B>.debug_str_offsets</B> sections.
|
|
<DT id="143">"t"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="144">"=pubtype"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
Displays the contents of the <B>.debug_pubtypes</B> and/or
|
|
<B>.debug_gnu_pubtypes</B> sections.
|
|
<DT id="145">"T"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="146">"=trace_aranges"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
Displays the contents of the <B>.trace_aranges</B> section.
|
|
<DT id="147">"u"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="148">"=trace_abbrev"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
Displays the contents of the <B>.trace_abbrev</B> section.
|
|
<DT id="149">"U"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="150">"=trace_info"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
Displays the contents of the <B>.trace_info</B> section.
|
|
</DL>
|
|
</DL>
|
|
|
|
<DL COMPACT><DT id="151"><DD>
|
|
|
|
|
|
<P>
|
|
|
|
|
|
Note: displaying the contents of <B>.debug_static_funcs</B>,
|
|
<B>.debug_static_vars</B> and <B>debug_weaknames</B> sections is not
|
|
currently supported.
|
|
</DL>
|
|
|
|
<DT id="152"><B>--dwarf-depth=</B><I>n</I><DD>
|
|
|
|
|
|
Limit the dump of the <TT>".debug_info"</TT> section to <I>n</I> children.
|
|
This is only useful with <B>--debug-dump=info</B>. The default is
|
|
to print all DIEs; the special value 0 for <I>n</I> will also have this
|
|
effect.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
With a non-zero value for <I>n</I>, DIEs at or deeper than <I>n</I>
|
|
levels will not be printed. The range for <I>n</I> is zero-based.
|
|
<DT id="153"><B>--dwarf-start=</B><I>n</I><DD>
|
|
|
|
|
|
Print only DIEs beginning with the <FONT SIZE="-1">DIE</FONT> numbered <I>n</I>. This is only
|
|
useful with <B>--debug-dump=info</B>.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
If specified, this option will suppress printing of any header
|
|
information and all DIEs before the <FONT SIZE="-1">DIE</FONT> numbered <I>n</I>. Only
|
|
siblings and children of the specified <FONT SIZE="-1">DIE</FONT> will be printed.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
This can be used in conjunction with <B>--dwarf-depth</B>.
|
|
<DT id="154"><B>--dwarf-check</B><DD>
|
|
|
|
|
|
Enable additional checks for consistency of Dwarf information.
|
|
<DT id="155"><B>--ctf=</B><I>section</I><DD>
|
|
|
|
|
|
Display the contents of the specified <FONT SIZE="-1">CTF</FONT> section. <FONT SIZE="-1">CTF</FONT> sections themselves
|
|
contain many subsections, all of which are displayed in order.
|
|
<DT id="156"><B>--ctf-parent=</B><I>section</I><DD>
|
|
|
|
|
|
Specify the name of another section from which the <FONT SIZE="-1">CTF</FONT> dictionary can inherit
|
|
types. (If none is specified, we assume the <FONT SIZE="-1">CTF</FONT> dictionary inherits types
|
|
from the default-named member of the archive contained within this section.)
|
|
<DT id="157"><B>-G</B><DD>
|
|
|
|
|
|
|
|
<DT id="158"><B>--stabs</B><DD>
|
|
|
|
|
|
|
|
Display the full contents of any sections requested. Display the
|
|
contents of the .stab and .stab.index and .stab.excl sections from an
|
|
<FONT SIZE="-1">ELF</FONT> file. This is only useful on systems (such as Solaris 2.0) in which
|
|
<TT>".stab"</TT> debugging symbol-table entries are carried in an <FONT SIZE="-1">ELF</FONT>
|
|
section. In most other file formats, debugging symbol-table entries are
|
|
interleaved with linkage symbols, and are visible in the <B>--syms</B>
|
|
output.
|
|
<DT id="159"><B>--start-address=</B><I>address</I><DD>
|
|
|
|
|
|
Start displaying data at the specified address. This affects the output
|
|
of the <B>-d</B>, <B>-r</B> and <B>-s</B> options.
|
|
<DT id="160"><B>--stop-address=</B><I>address</I><DD>
|
|
|
|
|
|
Stop displaying data at the specified address. This affects the output
|
|
of the <B>-d</B>, <B>-r</B> and <B>-s</B> options.
|
|
<DT id="161"><B>-t</B><DD>
|
|
|
|
|
|
|
|
<DT id="162"><B>--syms</B><DD>
|
|
|
|
|
|
|
|
Print the symbol table entries of the file.
|
|
This is similar to the information provided by the <B>nm</B> program,
|
|
although the display format is different. The format of the output
|
|
depends upon the format of the file being dumped, but there are two main
|
|
types. One looks like this:
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
|
|
<PRE>
|
|
[ 4](sec 3)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x00000000 .bss
|
|
[ 6](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 fred
|
|
|
|
</PRE>
|
|
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
where the number inside the square brackets is the number of the entry
|
|
in the symbol table, the <I>sec</I> number is the section number, the
|
|
<I>fl</I> value are the symbol's flag bits, the <I>ty</I> number is the
|
|
symbol's type, the <I>scl</I> number is the symbol's storage class and
|
|
the <I>nx</I> value is the number of auxilary entries associated with
|
|
the symbol. The last two fields are the symbol's value and its name.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
The other common output format, usually seen with <FONT SIZE="-1">ELF</FONT> based files,
|
|
looks like this:
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
|
|
<PRE>
|
|
00000000 l d .bss 00000000 .bss
|
|
00000000 g .text 00000000 fred
|
|
|
|
</PRE>
|
|
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
Here the first number is the symbol's value (sometimes refered to as
|
|
its address). The next field is actually a set of characters and
|
|
spaces indicating the flag bits that are set on the symbol. These
|
|
characters are described below. Next is the section with which the
|
|
symbol is associated or <I>*ABS*</I> if the section is absolute (ie
|
|
not connected with any section), or <I>*UND*</I> if the section is
|
|
referenced in the file being dumped, but not defined there.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
After the section name comes another field, a number, which for common
|
|
symbols is the alignment and for other symbol is the size. Finally
|
|
the symbol's name is displayed.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
The flag characters are divided into 7 groups as follows:
|
|
<DL COMPACT><DT id="163"><DD>
|
|
<DL COMPACT>
|
|
<DT id="164">"l"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="165">"g"<DD>
|
|
|
|
|
|
|
|
|
|
<DT id="166">"u"<DD>
|
|
|
|
|
|
|
|
|
|
<DT id="167">"!"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
The symbol is a local (l), global (g), unique global (u), neither
|
|
global nor local (a space) or both global and local (!). A
|
|
symbol can be neither local or global for a variety of reasons, e.g.,
|
|
because it is used for debugging, but it is probably an indication of
|
|
a bug if it is ever both local and global. Unique global symbols are
|
|
a <FONT SIZE="-1">GNU</FONT> extension to the standard set of <FONT SIZE="-1">ELF</FONT> symbol bindings. For such
|
|
a symbol the dynamic linker will make sure that in the entire process
|
|
there is just one symbol with this name and type in use.
|
|
<DT id="168">"w"<DD>
|
|
|
|
|
|
|
|
|
|
The symbol is weak (w) or strong (a space).
|
|
<DT id="169">"C"<DD>
|
|
|
|
|
|
|
|
|
|
The symbol denotes a constructor (C) or an ordinary symbol (a space).
|
|
<DT id="170">"W"<DD>
|
|
|
|
|
|
|
|
|
|
The symbol is a warning (W) or a normal symbol (a space). A warning
|
|
symbol's name is a message to be displayed if the symbol following the
|
|
warning symbol is ever referenced.
|
|
<DT id="171">"I"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="172">"i"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
The symbol is an indirect reference to another symbol (I), a function
|
|
to be evaluated during reloc processing (i) or a normal symbol (a
|
|
space).
|
|
<DT id="173">"d"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="174">"D"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
The symbol is a debugging symbol (d) or a dynamic symbol (D) or a
|
|
normal symbol (a space).
|
|
<DT id="175">"F"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
<DT id="176">"f"<DD>
|
|
|
|
|
|
|
|
|
|
<DT id="177">"O"<DD>
|
|
|
|
|
|
|
|
|
|
|
|
The symbol is the name of a function (F) or a file (f) or an object
|
|
(O) or just a normal symbol (a space).
|
|
</DL>
|
|
</DL>
|
|
|
|
<DL COMPACT><DT id="178"><DD>
|
|
</DL>
|
|
|
|
<DT id="179"><B>-T</B><DD>
|
|
|
|
|
|
|
|
<DT id="180"><B>--dynamic-syms</B><DD>
|
|
|
|
|
|
|
|
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 <B>nm</B>
|
|
program when given the <B>-D</B> (<B>--dynamic</B>) option.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
The output format is similar to that produced by the <B>--syms</B>
|
|
option, except that an extra field is inserted before the symbol's
|
|
name, giving the version information associated with the symbol.
|
|
If the version is the default version to be used when resolving
|
|
unversioned references to the symbol then it's displayed as is,
|
|
otherwise it's put into parentheses.
|
|
<DT id="181"><B>--special-syms</B><DD>
|
|
|
|
|
|
When displaying symbols include those which the target considers to be
|
|
special in some way and which would not normally be of interest to the
|
|
user.
|
|
<DT id="182"><B>-V</B><DD>
|
|
|
|
|
|
|
|
<DT id="183"><B>--version</B><DD>
|
|
|
|
|
|
|
|
Print the version number of <B>objdump</B> and exit.
|
|
<DT id="184"><B>-x</B><DD>
|
|
|
|
|
|
|
|
<DT id="185"><B>--all-headers</B><DD>
|
|
|
|
|
|
|
|
Display all available header information, including the symbol table and
|
|
relocation entries. Using <B>-x</B> is equivalent to specifying all of
|
|
<B>-a -f -h -p -r -t</B>.
|
|
<DT id="186"><B>-w</B><DD>
|
|
|
|
|
|
|
|
<DT id="187"><B>--wide</B><DD>
|
|
|
|
|
|
|
|
Format some lines for output devices that have more than 80 columns.
|
|
Also do not truncate symbol names when they are displayed.
|
|
<DT id="188"><B>-z</B><DD>
|
|
|
|
|
|
|
|
<DT id="189"><B>--disassemble-zeroes</B><DD>
|
|
|
|
|
|
|
|
Normally the disassembly output will skip blocks of zeroes. This
|
|
option directs the disassembler to disassemble those blocks, just like
|
|
any other data.
|
|
<DT id="190"><B>@</B><I>file</I><DD>
|
|
|
|
|
|
Read command-line options from <I>file</I>. The options read are
|
|
inserted in place of the original @<I>file</I> option. If <I>file</I>
|
|
does not exist, or cannot be read, then the option will be treated
|
|
literally, and not removed.
|
|
|
|
|
|
<P>
|
|
|
|
|
|
Options in <I>file</I> are separated by whitespace. A whitespace
|
|
character may be included in an option by surrounding the entire
|
|
option in either single or double quotes. Any character (including a
|
|
backslash) may be included by prefixing the character to be included
|
|
with a backslash. The <I>file</I> may itself contain additional
|
|
@<I>file</I> options; any such options will be processed recursively.
|
|
</DL>
|
|
<A NAME="lbAF"> </A>
|
|
<H2>SEE ALSO</H2>
|
|
|
|
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?1+nm">nm</A></B>(1), <B><A HREF="/cgi-bin/man/man2html?1+readelf">readelf</A></B>(1), and the Info entries for <I>binutils</I>.
|
|
<A NAME="lbAG"> </A>
|
|
<H2>COPYRIGHT</H2>
|
|
|
|
|
|
|
|
Copyright (c) 1991-2020 Free Software Foundation, Inc.
|
|
<P>
|
|
|
|
Permission is granted to copy, distribute and/or modify this document
|
|
under the terms of the <FONT SIZE="-1">GNU</FONT> Free Documentation License, Version 1.3
|
|
or any later version published by the Free Software Foundation;
|
|
with no Invariant Sections, with no Front-Cover Texts, and with no
|
|
Back-Cover Texts. A copy of the license is included in the
|
|
section entitled ``<FONT SIZE="-1">GNU</FONT> Free Documentation License''.
|
|
<P>
|
|
|
|
<HR>
|
|
<A NAME="index"> </A><H2>Index</H2>
|
|
<DL>
|
|
<DT id="191"><A HREF="#lbAB">NAME</A><DD>
|
|
<DT id="192"><A HREF="#lbAC">SYNOPSIS</A><DD>
|
|
<DT id="193"><A HREF="#lbAD">DESCRIPTION</A><DD>
|
|
<DT id="194"><A HREF="#lbAE">OPTIONS</A><DD>
|
|
<DT id="195"><A HREF="#lbAF">SEE ALSO</A><DD>
|
|
<DT id="196"><A HREF="#lbAG">COPYRIGHT</A><DD>
|
|
</DL>
|
|
<HR>
|
|
This document was created by
|
|
<A HREF="/cgi-bin/man/man2html">man2html</A>,
|
|
using the manual pages.<BR>
|
|
Time: 00:05:20 GMT, March 31, 2021
|
|
</BODY>
|
|
</HTML>
|