2000-10-31 Philip Blundell <philb@gnu.org>
[binutils.git] / binutils / objdump.1
blobddc153ed8a36110c5ba5e8609a29048aab173ba7
1 .\" Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 1998 Free Software Foundation
2 .\" See section COPYING for conditions for redistribution
3 .TH objdump 1 "5 November 1991" "cygnus support" "GNU Development Tools"
4 .de BP
5 .sp
6 .ti \-.2i
7 \(**
8 ..
10 .SH NAME
11 objdump \- display information from object files.
13 .SH SYNOPSIS
14 .hy 0
15 .na
16 .TP
17 .B objdump
18 .RB "[\|" \-a | \-\-archive\-headers "\|]" 
19 .RB "[\|" "\-b\ "\c
20 .I bfdname\c
21 .RB " | " "\-\-target="\c
22 .I bfdname\c
23 \&\|] 
24 .RB "[\|" \-C | \-\-demangle "\|]" 
25 .RB "[\|" \-\-debugging "\|]" 
26 .RB "[\|" \-d | \-\-disassemble "\|]" 
27 .RB "[\|" \-D | \-\-disassemble-all "\|]" 
28 .RB "[\|" \-\-disassemble\-zeroes "\|]" 
29 .RB "[\|" \-EB | \-EL | \-\-endian=\c
30 .I {big|little}\c
31 \&\|]
32 .RB "[\|" \-f | \-\-file\-headers "\|]"
33 .RB "[\|" \-h | \-\-section\-headers
34 .RB "| " \-\-headers "\|]" 
35 .RB "[\|" \-i | \-\-info "\|]" 
36 .RB "[\|" "\-j\ "\c
37 .I section\c
38 .RB " | " "\-\-section="\c
39 .I section\c
40 \&\|] 
41 .RB "[\|" \-l | \-\-line\-numbers "\|]"
42 .RB "[\|" "\-m\ "\c
43 .I machine\c
44 .RB " | " "\-\-architecture="\c
45 .I machine\c
46 \&\|] 
47 .RB "[\|" \-p | \-\-private\-headers "\|]" 
48 .RB "[\|" \-\-prefix\-addresses "\|]" 
49 .RB "[\|" \-r | \-\-reloc "\|]" 
50 .RB "[\|" \-R | \-\-dynamic\-reloc "\|]" 
51 .RB "[\|" \-s | \-\-full\-contents "\|]"
52 .RB "[\|" \-S | \-\-source "\|]"
53 .RB "[\|" \-\-[no\-]show\-raw\-insn "\|]" 
54 .RB "[\|" \-\-stabs "\|]"
55 .RB "[\|" \-t | \-\-syms "\|]" 
56 .RB "[\|" \-T | \-\-dynamic\-syms "\|]" 
57 .RB "[\|" \-x | \-\-all\-headers "\|]"
58 .RB "[\|" "\-\-start\-address="\c
59 .I address\c
60 \&\|]
61 .RB "[\|" "\-\-stop\-address="\c
62 .I address\c
63 \&\|]
64 .RB "[\|" "\-\-adjust\-vma="\c
65 .I offset\c
66 \&\|]
67 .RB "[\|" \-\-version "\|]"
68 .RB "[\|" \-\-help "\|]"
69 .I objfile\c
70 \&.\|.\|.
71 .ad b
72 .hy 1
73 .SH DESCRIPTION
75 .B objdump\c
76 \& displays information about one or more object files.
77 The options control what particular information to display.  This
78 information is mostly useful to programmers who are working on the
79 compilation tools, as opposed to programmers who just want their
80 program to compile and work.
81 .PP
82 .IR  "objfile" .\|.\|.
83 are the object files to be examined.  When you specify archives,
85 .B objdump\c
86 \& shows information on each of the member object files.
88 .SH OPTIONS
89 Where long and short forms of an option are shown together, they are
90 equivalent.  At least one option besides
91 .B \-l
92 (\fB\-\-line\-numbers\fP) must be given.
94 .TP
95 .B \-a
96 .TP
97 .B \-\-archive\-headers
98 If any files from \c
99 .I objfile\c
100 \& are archives, display the archive
101 header information (in a format similar to `\|\c
102 .B ls \-l\c
103 \|').  Besides the
104 information you could list with `\|\c
105 .B ar tv\c
106 \|', `\|\c
107 .B objdump \-a\c
108 \|' shows
109 the object file format of each archive member.
112 .BI "\-\-adjust\-vma=" "offset"
113 When dumping information, first add
114 .I offset
115 to all the section addresses.  This is useful if the section addresses
116 do not correspond to the symbol table, which can happen when putting
117 sections at particular addresses when using a format which can not
118 represent section addresses, such as a.out.
121 .BI "\-b " "bfdname"\c
123 .BI "\-\-target=" "bfdname"
124 Specify the object-code format for the object files to be
126 .I bfdname\c
127 \&.  This may not be necessary; \c
128 .I objdump\c
129 \& can
130 automatically recognize many formats.  For example,
133 objdump\ \-b\ oasys\ \-m\ vax\ \-h\ fu.o
136 display summary information from the section headers (`\|\c
137 .B \-h\c
138 \|') of
139 `\|\c
140 .B fu.o\c
141 \|', which is explicitly identified (`\|\c
142 .B \-m\c
143 \|') as a Vax object
144 file in the format produced by Oasys compilers.  You can list the
145 formats available with the `\|\c
146 .B \-i\c
147 \|' option.
150 .B \-C
152 .B \-\-demangle
153 Decode (\fIdemangle\fP) low-level symbol names into user-level names.
154 Besides removing any initial underscore prepended by the system, this
155 makes C++ function names readable.
158 .B \-\-debugging
159 Display debugging information.  This attempts to parse debugging
160 information stored in the file and print it out using a C like syntax.
161 Only certain types of debugging information have been implemented.
164 .B \-d
166 .B \-\-disassemble
167 Display the assembler mnemonics for the machine
168 instructions from \c
169 .I objfile\c
171 This option only disassembles those sections which are
172 expected to contain instructions.
175 .B \-D
177 .B \-\-disassemble-all
178 Like \fB\-d\fP, but disassemble the contents of all sections, not just
179 those expected to contain instructions.
182 .B \-\-prefix\-addresses
183 When disassembling, print the complete address on each line.  This is
184 the older disassembly format.
187 .B \-\-disassemble\-zeroes
188 Normally the disassembly output will skip blocks of zeroes.  This
189 option directs the disassembler to disassemble those blocks, just like
190 any other data.
193 .B \-EB
195 .B \-EL
197 .BI "\-\-endian=" "{big|little}"
198 Specify the endianness of the object files.  This only affects
199 disassembly.  This can be useful when disassembling a file format which
200 does not describe endianness information, such as S-records.
203 .B \-f
205 .B \-\-file\-headers
206 Display summary information from the overall header of
207 each file in \c
208 .I objfile\c
212 .B \-h
214 .B \-\-section\-headers
216 .B \-\-headers
217 Display summary information from the section headers of the
218 object file.
221 .B \-\-help
222 Print a summary of the options to
223 .B objdump
224 and exit.
227 .B \-i
229 .B \-\-info
230 Display a list showing all architectures and object formats available
231 for specification with \c
232 .B \-b\c
233 \& or \c
234 .B \-m\c
238 .BI "\-j " "name"\c
240 .BI "\-\-section=" "name"
241 Display information only for section \c
242 .I name\c
246 .B \-l
248 .B \-\-line\-numbers
249 Label the display (using debugging information) with the filename
250 and source line numbers corresponding to the object code shown.
251 Only useful with \fB\-d\fP, \fB\-D\fP, or \fB\-r\fP.
254 .BI "\-m " "machine"\c
256 .BI "\-\-architecture=" "machine"
257 Specify the architecture to use when disassembling object files.  This
258 can be useful when disassembling object files which do not describe
259 architecture information, such as S-records.  You can list the available
260 architectures with the \fB\-i\fP option. 
263 .B \-p
265 .B \-\-private\-headers
266 Print information that is specific to the object file format.  The
267 exact information printed depends upon the object file format.  For
268 some object file formats, no additional information is printed.
271 .B \-r
273 .B \-\-reloc
274 Print the relocation entries of the file.  If used with \fB\-d\fP or
275 \fB\-D\fP, the relocations are printed interspersed with the
276 disassembly.
279 .B \-R
281 .B \-\-dynamic\-reloc
282 Print the dynamic relocation entries of the file.  This is only
283 meaningful for dynamic objects, such as certain types of shared
284 libraries.
287 .B \-s
289 .B \-\-full\-contents
290 Display the full contents of any sections requested.
293 .B \-S
295 .B \-\-source
296 Display source code intermixed with disassembly, if possible.  Implies
297 \fB-d\fP.
300 .B \-\-show\-raw\-insn
301 When disassembling instructions, print the instruction in hex as well as
302 in symbolic form.  This is the default except when
303 .B \-\-prefix\-addresses
304 is used.
307 .B \-\-no\-show\-raw\-insn
308 When disassembling instructions, do not print the instruction bytes.
309 This is the default when
310 .B \-\-prefix\-addresses
311 is used.
314 .B \-\-stabs
315 Display the contents of the .stab, .stab.index, and .stab.excl
316 sections from an ELF file.  This is only useful on systems (such as
317 Solaris 2.0) in which .stab debugging symbol-table entries are carried
318 in an ELF section.  In most other file formats, debugging symbol-table
319 entries are interleaved with linkage symbols, and are visible in the
320 .B \-\-syms
321 output.
324 .BI "\-\-start\-address=" "address"
325 Start displaying data at the specified address.  This affects the output
326 of the
327 .B \-d\c
329 .B \-r
331 .B \-s
332 options.
335 .BI "\-\-stop\-address=" "address"
336 Stop displaying data at the specified address.  This affects the output
337 of the
338 .B \-d\c
340 .B \-r
342 .B \-s
343 options.
346 .B \-t
348 .B \-\-syms
349 Symbol Table.  Print the symbol table entries of the file.
350 This is similar to the information provided by the `\|\c
351 .B nm\c
352 \|' program.
355 .B \-T
357 .B \-\-dynamic\-syms
358 Dynamic Symbol Table.  Print the dynamic symbol table entries of the
359 file.  This is only meaningful for dynamic objects, such as certain
360 types of shared libraries.  This is similar to the information
361 provided by the `\|\c
362 .B nm\c
363 \|' program when given the
364 .B \-D (\-\-dynamic)
365 option.
368 .B \-\-version
369 Print the version number of
370 .B objdump
371 and exit.
374 .B \-x
376 .B \-\-all\-headers
377 Display all available header information, including the symbol table and
378 relocation entries.  Using `\|\c
379 .B \-x\c
380 \|' is equivalent to specifying all of
381 `\|\c
382 .B \-a \-f \-h \-r \-t\c
383 \|'.
385 .SH "SEE ALSO"
386 .RB "`\|" binutils "\|'"
387 entry in 
389 info\c
390 \&; 
392 The GNU Binary Utilities\c
393 \&, Roland H. Pesch (October 1991); 
394 .BR nm "(" 1 ")."
396 .SH COPYING
397 Copyright (c) 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
399 Permission is granted to make and distribute verbatim copies of
400 this manual provided the copyright notice and this permission notice
401 are preserved on all copies.
403 Permission is granted to copy and distribute modified versions of this
404 manual under the conditions for verbatim copying, provided that the
405 entire resulting derived work is distributed under the terms of a
406 permission notice identical to this one.
408 Permission is granted to copy and distribute translations of this
409 manual into another language, under the above conditions for modified
410 versions, except that this permission notice may be included in
411 translations approved by the Free Software Foundation instead of in
412 the original English.