* objdump.c (start_address): New variable.
[binutils-gdb.git] / binutils / objdump.1
1 .\" Copyright (c) 1991 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 ..
9
10 .SH NAME
11 objdump \- display information from object files.
12
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 "[\|" \-d | \-\-disassemble "\|]"
25 .RB "[\|" \-D | \-\-disassemble-all "\|]"
26 .RB "[\|" \-f | \-\-file\-headers "\|]"
27 .RB "[\|" \-h | \-\-section\-headers
28 .RB "| " \-\-headers "\|]"
29 .RB "[\|" \-i | \-\-info "\|]"
30 .RB "[\|" "\-j\ "\c
31 .I section\c
32 .RB " | " "\-\-section="\c
33 .I section\c
34 \&\|]
35 .RB "[\|" \-l | \-\-line\-numbers "\|]"
36 .RB "[\|" "\-m\ "\c
37 .I machine\c
38 .RB " | " "\-\-architecture="\c
39 .I machine\c
40 \&\|]
41 .RB "[\|" \-r | \-\-reloc "\|]"
42 .RB "[\|" \-R | \-\-dynamic\-reloc "\|]"
43 .RB "[\|" \-s | \-\-full\-contents "\|]"
44 .RB "[\|" \-S | \-\-source "\|]"
45 .RB "[\|" \-\-stabs "\|]"
46 .RB "[\|" \-t | \-\-syms "\|]"
47 .RB "[\|" \-T | \-\-dynamic\-syms "\|]"
48 .RB "[\|" \-x | \-\-all\-headers "\|]"
49 .RB "[\|" "\-\-start\-address="\c
50 .I address\c
51 \&\|]
52 .RB "[\|" "\-\-stop\-address="\c
53 .I address\c
54 \&\|]
55 .RB "[\|" \-\-version "\|]"
56 .RB "[\|" \-\-help "\|]"
57 .I objfile\c
58 \&.\|.\|.
59 .ad b
60 .hy 1
61 .SH DESCRIPTION
62 \c
63 .B objdump\c
64 \& displays information about one or more object files.
65 The options control what particular information to display. This
66 information is mostly useful to programmers who are working on the
67 compilation tools, as opposed to programmers who just want their
68 program to compile and work.
69 .PP
70 .IR "objfile" .\|.\|.
71 are the object files to be examined. When you specify archives,
72 \c
73 .B objdump\c
74 \& shows information on each of the member object files.
75
76 .SH OPTIONS
77 Where long and short forms of an option are shown together, they are
78 equivalent. At least one option besides
79 .B \-l
80 (\fB\-\-line\-numbers\fP) must be given.
81
82 .TP
83 .B \-a
84 .TP
85 .B \-\-archive\-headers
86 If any files from \c
87 .I objfile\c
88 \& are archives, display the archive
89 header information (in a format similar to `\|\c
90 .B ls \-l\c
91 \|'). Besides the
92 information you could list with `\|\c
93 .B ar tv\c
94 \|', `\|\c
95 .B objdump \-a\c
96 \|' shows
97 the object file format of each archive member.
98
99 .TP
100 .BI "\-b " "bfdname"\c
101 .TP
102 .BI "\-\-target=" "bfdname"\c
103 \&
104 Specify the object-code format for the object files to be
105 \c
106 .I bfdname\c
107 \&. This may not be necessary; \c
108 .I objdump\c
109 \& can
110 automatically recognize many formats. For example,
111 .sp
112 .br
113 objdump\ \-b\ oasys\ \-m\ vax\ \-h\ fu.o
114 .br
115 .sp
116
117 display summary information from the section headers (`\|\c
118 .B \-h\c
119 \|') of
120 `\|\c
121 .B fu.o\c
122 \|', which is explicitly identified (`\|\c
123 .B \-m\c
124 \|') as a Vax object
125 file in the format produced by Oasys compilers. You can list the
126 formats available with the `\|\c
127 .B \-i\c
128 \|' option.
129
130 .TP
131 .B \-d
132 .TP
133 .B \-\-disassemble
134 Display the assembler mnemonics for the machine
135 instructions from \c
136 .I objfile\c
137 \&.
138 This option only disassembles those sections which are
139 expected to contain instructions.
140
141 .TP
142 .B \-D
143 .TP
144 .B \-\-disassemble-all
145 Like \fB\-d\fP, but disassemble the contents of all sections, not just
146 those expected to contain instructions.
147
148 .TP
149 .B \-f
150 .TP
151 .B \-\-file\-headers
152 Display summary information from the overall header of
153 each file in \c
154 .I objfile\c
155 \&.
156
157 .TP
158 .B \-h
159 .TP
160 .B \-\-section\-headers
161 .TP
162 .B \-\-headers
163 Display summary information from the section headers of the
164 object file.
165
166 .TP
167 .B \-\-help
168 Print a summary of the options to
169 .B objdump
170 and exit.
171
172 .TP
173 .B \-i
174 .TP
175 .B \-\-info
176 Display a list showing all architectures and object formats available
177 for specification with \c
178 .B \-b\c
179 \& or \c
180 .B \-m\c
181 \&.
182
183 .TP
184 .BI "\-j " "name"\c
185 .TP
186 .BI "\-\-section=" "name"\c
187 \&
188 Display information only for section \c
189 .I name\c
190 \&
191
192 .TP
193 .B \-l
194 .TP
195 .B \-\-line\-numbers
196 Label the display (using debugging information) with the filename
197 and source line numbers corresponding to the object code shown.
198 Only useful with \fB\-d\fP or \fB\-D\fP.
199
200 .TP
201 .BI "\-m " "machine"\c
202 .TP
203 .BI "\-\-architecture=" "machine"\c
204 \&
205 Specify the object files \c
206 .I objfile\c
207 \& are for architecture
208 \c
209 .I machine\c
210 \&. You can list available architectures using the `\|\c
211 .B \-i\c
212 \|'
213 option.
214
215 .TP
216 .B \-r
217 .TP
218 .B \-\-reloc
219 Print the relocation entries of the file. If used with \fB\-d\fP or
220 \fB\-d\fP, the relocations are printed interspersed with the
221 disassembly.
222
223 .TP
224 .B \-R
225 .TP
226 .B \-\-dynamic\-reloc
227 Print the dynamic relocation entries of the file. This is only
228 meaningful for dynamic objects, such as certain types of shared
229 libraries.
230
231 .TP
232 .B \-s
233 .TP
234 .B \-\-full\-contents
235 Display the full contents of any sections requested.
236
237 .TP
238 .B \-S
239 .TP
240 .B \-\-source
241 Display source code intermixed with disassembly, if possible. Implies
242 \fB-d\fP.
243
244 .TP
245 .B \-\-stabs
246 Display the contents of the .stab, .stab.index, and .stab.excl
247 sections from an ELF file. This is only useful on systems (such as
248 Solaris 2.0) in which .stab debugging symbol-table entries are carried
249 in an ELF section. In most other file formats, debugging symbol-table
250 entries are interleaved with linkage symbols, and are visible in the
251 \-\-syms output.
252
253 .TP
254 .BI "\-\-start\-address=" "address"
255 Start displaying data at the specified address. This affects the output
256 of the
257 .B \-d\c
258 ,
259 .B \-r
260 and
261 .B \-s
262 options.
263
264 .TP
265 .BI "\-\-stop\-address=" "address"
266 Stop displaying data at the specified address. This affects the output
267 of the
268 .B \-d\c
269 ,
270 .B \-r
271 and
272 .B \-s
273 options.
274
275 .TP
276 .B \-t
277 .TP
278 .B \-\-syms
279 Symbol Table. Print the symbol table entries of the file.
280 This is similar to the information provided by the `\|\c
281 .B nm\c
282 \|' program.
283
284 .TP
285 .B \-T
286 .TP
287 .B \-\-dynamic\-syms
288 Dynamic Symbol Table. Print the dynamic symbol table entries of the
289 file. This is only meaningful for dynamic objects, such as certain
290 types of shared libraries. This is similar to the information
291 provided by the `\|\c
292 .B nm\c
293 \|' program when given the
294 .B \-D (\-\-dynamic)
295 option.
296
297 .TP
298 .B \-\-version
299 Print the version number of
300 .B objdump
301 and exit.
302
303 .TP
304 .B \-x
305 .TP
306 .B \-\-all\-headers
307 Display all available header information, including the symbol table and
308 relocation entries. Using `\|\c
309 .B \-x\c
310 \|' is equivalent to specifying all of
311 `\|\c
312 .B \-a \-f \-h \-r \-t\c
313 \|'.
314
315 .SH "SEE ALSO"
316 .RB "`\|" binutils "\|'"
317 entry in
318 .B
319 info\c
320 \&;
321 .I
322 The GNU Binary Utilities\c
323 \&, Roland H. Pesch (October 1991);
324 .BR nm "(" 1 ")."
325
326 .SH COPYING
327 Copyright (c) 1991 Free Software Foundation, Inc.
328 .PP
329 Permission is granted to make and distribute verbatim copies of
330 this manual provided the copyright notice and this permission notice
331 are preserved on all copies.
332 .PP
333 Permission is granted to copy and distribute modified versions of this
334 manual under the conditions for verbatim copying, provided that the
335 entire resulting derived work is distributed under the terms of a
336 permission notice identical to this one.
337 .PP
338 Permission is granted to copy and distribute translations of this
339 manual into another language, under the above conditions for modified
340 versions, except that this permission notice may be included in
341 translations approved by the Free Software Foundation instead of in
342 the original English.