|
1 .\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 |
|
2 .\" |
|
3 .\" Standard preamble: |
|
4 .\" ======================================================================== |
|
5 .de Sh \" Subsection heading |
|
6 .br |
|
7 .if t .Sp |
|
8 .ne 5 |
|
9 .PP |
|
10 \fB\\$1\fR |
|
11 .PP |
|
12 .. |
|
13 .de Sp \" Vertical space (when we can't use .PP) |
|
14 .if t .sp .5v |
|
15 .if n .sp |
|
16 .. |
|
17 .de Vb \" Begin verbatim text |
|
18 .ft CW |
|
19 .nf |
|
20 .ne \\$1 |
|
21 .. |
|
22 .de Ve \" End verbatim text |
|
23 .ft R |
|
24 .fi |
|
25 .. |
|
26 .\" Set up some character translations and predefined strings. \*(-- will |
|
27 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left |
|
28 .\" double quote, and \*(R" will give a right double quote. | will give a |
|
29 .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to |
|
30 .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' |
|
31 .\" expand to `' in nroff, nothing in troff, for use with C<>. |
|
32 .tr \(*W-|\(bv\*(Tr |
|
33 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' |
|
34 .ie n \{\ |
|
35 . ds -- \(*W- |
|
36 . ds PI pi |
|
37 . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch |
|
38 . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch |
|
39 . ds L" "" |
|
40 . ds R" "" |
|
41 . ds C` "" |
|
42 . ds C' "" |
|
43 'br\} |
|
44 .el\{\ |
|
45 . ds -- \|\(em\| |
|
46 . ds PI \(*p |
|
47 . ds L" `` |
|
48 . ds R" '' |
|
49 'br\} |
|
50 .\" |
|
51 .\" If the F register is turned on, we'll generate index entries on stderr for |
|
52 .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index |
|
53 .\" entries marked with X<> in POD. Of course, you'll have to process the |
|
54 .\" output yourself in some meaningful fashion. |
|
55 .if \nF \{\ |
|
56 . de IX |
|
57 . tm Index:\\$1\t\\n%\t"\\$2" |
|
58 .. |
|
59 . nr % 0 |
|
60 . rr F |
|
61 .\} |
|
62 .\" |
|
63 .\" For nroff, turn off justification. Always turn off hyphenation; it makes |
|
64 .\" way too many mistakes in technical documents. |
|
65 .hy 0 |
|
66 .\" |
|
67 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). |
|
68 .\" Fear. Run. Save yourself. No user-serviceable parts. |
|
69 . \" fudge factors for nroff and troff |
|
70 .if n \{\ |
|
71 . ds #H 0 |
|
72 . ds #V .8m |
|
73 . ds #F .3m |
|
74 . ds #[ \f1 |
|
75 . ds #] \fP |
|
76 .\} |
|
77 .if t \{\ |
|
78 . ds #H ((1u-(\\\\n(.fu%2u))*.13m) |
|
79 . ds #V .6m |
|
80 . ds #F 0 |
|
81 . ds #[ \& |
|
82 . ds #] \& |
|
83 .\} |
|
84 . \" simple accents for nroff and troff |
|
85 .if n \{\ |
|
86 . ds ' \& |
|
87 . ds ` \& |
|
88 . ds ^ \& |
|
89 . ds , \& |
|
90 . ds ~ ~ |
|
91 . ds / |
|
92 .\} |
|
93 .if t \{\ |
|
94 . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" |
|
95 . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' |
|
96 . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' |
|
97 . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' |
|
98 . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' |
|
99 . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' |
|
100 .\} |
|
101 . \" troff and (daisy-wheel) nroff accents |
|
102 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' |
|
103 .ds 8 \h'\*(#H'\(*b\h'-\*(#H' |
|
104 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] |
|
105 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' |
|
106 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' |
|
107 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] |
|
108 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] |
|
109 .ds ae a\h'-(\w'a'u*4/10)'e |
|
110 .ds Ae A\h'-(\w'A'u*4/10)'E |
|
111 . \" corrections for vroff |
|
112 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' |
|
113 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' |
|
114 . \" for low resolution devices (crt and lpr) |
|
115 .if \n(.H>23 .if \n(.V>19 \ |
|
116 \{\ |
|
117 . ds : e |
|
118 . ds 8 ss |
|
119 . ds o a |
|
120 . ds d- d\h'-1'\(ga |
|
121 . ds D- D\h'-1'\(hy |
|
122 . ds th \o'bp' |
|
123 . ds Th \o'LP' |
|
124 . ds ae ae |
|
125 . ds Ae AE |
|
126 .\} |
|
127 .rm #[ #] #H #V #F C |
|
128 .\" ======================================================================== |
|
129 .\" |
|
130 .IX Title "OBJDUMP 1" |
|
131 .TH OBJDUMP 1 "2008-01-09" "binutils-2.18.50" "GNU Development Tools" |
|
132 .SH "NAME" |
|
133 objdump \- display information from object files. |
|
134 .SH "SYNOPSIS" |
|
135 .IX Header "SYNOPSIS" |
|
136 objdump [\fB\-a\fR|\fB\-\-archive\-headers\fR] |
|
137 [\fB\-b\fR \fIbfdname\fR|\fB\-\-target=\fR\fIbfdname\fR] |
|
138 [\fB\-C\fR|\fB\-\-demangle\fR[=\fIstyle\fR] ] |
|
139 [\fB\-d\fR|\fB\-\-disassemble\fR] |
|
140 [\fB\-D\fR|\fB\-\-disassemble\-all\fR] |
|
141 [\fB\-z\fR|\fB\-\-disassemble\-zeroes\fR] |
|
142 [\fB\-EB\fR|\fB\-EL\fR|\fB\-\-endian=\fR{big | little }] |
|
143 [\fB\-f\fR|\fB\-\-file\-headers\fR] |
|
144 [\fB\-\-file\-start\-context\fR] |
|
145 [\fB\-g\fR|\fB\-\-debugging\fR] |
|
146 [\fB\-e\fR|\fB\-\-debugging\-tags\fR] |
|
147 [\fB\-h\fR|\fB\-\-section\-headers\fR|\fB\-\-headers\fR] |
|
148 [\fB\-i\fR|\fB\-\-info\fR] |
|
149 [\fB\-j\fR \fIsection\fR|\fB\-\-section=\fR\fIsection\fR] |
|
150 [\fB\-l\fR|\fB\-\-line\-numbers\fR] |
|
151 [\fB\-S\fR|\fB\-\-source\fR] |
|
152 [\fB\-m\fR \fImachine\fR|\fB\-\-architecture=\fR\fImachine\fR] |
|
153 [\fB\-M\fR \fIoptions\fR|\fB\-\-disassembler\-options=\fR\fIoptions\fR] |
|
154 [\fB\-p\fR|\fB\-\-private\-headers\fR] |
|
155 [\fB\-r\fR|\fB\-\-reloc\fR] |
|
156 [\fB\-R\fR|\fB\-\-dynamic\-reloc\fR] |
|
157 [\fB\-s\fR|\fB\-\-full\-contents\fR] |
|
158 [\fB\-W\fR|\fB\-\-dwarf\fR] |
|
159 [\fB\-G\fR|\fB\-\-stabs\fR] |
|
160 [\fB\-t\fR|\fB\-\-syms\fR] |
|
161 [\fB\-T\fR|\fB\-\-dynamic\-syms\fR] |
|
162 [\fB\-x\fR|\fB\-\-all\-headers\fR] |
|
163 [\fB\-w\fR|\fB\-\-wide\fR] |
|
164 [\fB\-\-start\-address=\fR\fIaddress\fR] |
|
165 [\fB\-\-stop\-address=\fR\fIaddress\fR] |
|
166 [\fB\-\-prefix\-addresses\fR] |
|
167 [\fB\-\-[no\-]show\-raw\-insn\fR] |
|
168 [\fB\-\-adjust\-vma=\fR\fIoffset\fR] |
|
169 [\fB\-\-special\-syms\fR] |
|
170 [\fB\-V\fR|\fB\-\-version\fR] |
|
171 [\fB\-H\fR|\fB\-\-help\fR] |
|
172 \fIobjfile\fR... |
|
173 .SH "DESCRIPTION" |
|
174 .IX Header "DESCRIPTION" |
|
175 \&\fBobjdump\fR displays information about one or more object files. |
|
176 The options control what particular information to display. This |
|
177 information is mostly useful to programmers who are working on the |
|
178 compilation tools, as opposed to programmers who just want their |
|
179 program to compile and work. |
|
180 .PP |
|
181 \&\fIobjfile\fR... are the object files to be examined. When you |
|
182 specify archives, \fBobjdump\fR shows information on each of the member |
|
183 object files. |
|
184 .SH "OPTIONS" |
|
185 .IX Header "OPTIONS" |
|
186 The long and short forms of options, shown here as alternatives, are |
|
187 equivalent. At least one option from the list |
|
188 \&\fB\-a,\-d,\-D,\-e,\-f,\-g,\-G,\-h,\-H,\-p,\-r,\-R,\-s,\-S,\-t,\-T,\-V,\-x\fR must be given. |
|
189 .IP "\fB\-a\fR" 4 |
|
190 .IX Item "-a" |
|
191 .PD 0 |
|
192 .IP "\fB\-\-archive\-header\fR" 4 |
|
193 .IX Item "--archive-header" |
|
194 .PD |
|
195 If any of the \fIobjfile\fR files are archives, display the archive |
|
196 header information (in a format similar to \fBls \-l\fR). Besides the |
|
197 information you could list with \fBar tv\fR, \fBobjdump \-a\fR shows |
|
198 the object file format of each archive member. |
|
199 .IP "\fB\-\-adjust\-vma=\fR\fIoffset\fR" 4 |
|
200 .IX Item "--adjust-vma=offset" |
|
201 When dumping information, first add \fIoffset\fR to all the section |
|
202 addresses. This is useful if the section addresses do not correspond to |
|
203 the symbol table, which can happen when putting sections at particular |
|
204 addresses when using a format which can not represent section addresses, |
|
205 such as a.out. |
|
206 .IP "\fB\-b\fR \fIbfdname\fR" 4 |
|
207 .IX Item "-b bfdname" |
|
208 .PD 0 |
|
209 .IP "\fB\-\-target=\fR\fIbfdname\fR" 4 |
|
210 .IX Item "--target=bfdname" |
|
211 .PD |
|
212 Specify that the object-code format for the object files is |
|
213 \&\fIbfdname\fR. This option may not be necessary; \fIobjdump\fR can |
|
214 automatically recognize many formats. |
|
215 .Sp |
|
216 For example, |
|
217 .Sp |
|
218 .Vb 1 |
|
219 \& objdump -b oasys -m vax -h fu.o |
|
220 .Ve |
|
221 .Sp |
|
222 displays summary information from the section headers (\fB\-h\fR) of |
|
223 \&\fIfu.o\fR, which is explicitly identified (\fB\-m\fR) as a \s-1VAX\s0 object |
|
224 file in the format produced by Oasys compilers. You can list the |
|
225 formats available with the \fB\-i\fR option. |
|
226 .IP "\fB\-C\fR" 4 |
|
227 .IX Item "-C" |
|
228 .PD 0 |
|
229 .IP "\fB\-\-demangle[=\fR\fIstyle\fR\fB]\fR" 4 |
|
230 .IX Item "--demangle[=style]" |
|
231 .PD |
|
232 Decode (\fIdemangle\fR) low-level symbol names into user-level names. |
|
233 Besides removing any initial underscore prepended by the system, this |
|
234 makes \*(C+ function names readable. Different compilers have different |
|
235 mangling styles. The optional demangling style argument can be used to |
|
236 choose an appropriate demangling style for your compiler. |
|
237 .IP "\fB\-g\fR" 4 |
|
238 .IX Item "-g" |
|
239 .PD 0 |
|
240 .IP "\fB\-\-debugging\fR" 4 |
|
241 .IX Item "--debugging" |
|
242 .PD |
|
243 Display debugging information. This attempts to parse debugging |
|
244 information stored in the file and print it out using a C like syntax. |
|
245 Only certain types of debugging information have been implemented. |
|
246 Some other types are supported by \fBreadelf \-w\fR. |
|
247 .IP "\fB\-e\fR" 4 |
|
248 .IX Item "-e" |
|
249 .PD 0 |
|
250 .IP "\fB\-\-debugging\-tags\fR" 4 |
|
251 .IX Item "--debugging-tags" |
|
252 .PD |
|
253 Like \fB\-g\fR, but the information is generated in a format compatible |
|
254 with ctags tool. |
|
255 .IP "\fB\-d\fR" 4 |
|
256 .IX Item "-d" |
|
257 .PD 0 |
|
258 .IP "\fB\-\-disassemble\fR" 4 |
|
259 .IX Item "--disassemble" |
|
260 .PD |
|
261 Display the assembler mnemonics for the machine instructions from |
|
262 \&\fIobjfile\fR. This option only disassembles those sections which are |
|
263 expected to contain instructions. |
|
264 .IP "\fB\-D\fR" 4 |
|
265 .IX Item "-D" |
|
266 .PD 0 |
|
267 .IP "\fB\-\-disassemble\-all\fR" 4 |
|
268 .IX Item "--disassemble-all" |
|
269 .PD |
|
270 Like \fB\-d\fR, but disassemble the contents of all sections, not just |
|
271 those expected to contain instructions. |
|
272 .IP "\fB\-\-prefix\-addresses\fR" 4 |
|
273 .IX Item "--prefix-addresses" |
|
274 When disassembling, print the complete address on each line. This is |
|
275 the older disassembly format. |
|
276 .IP "\fB\-EB\fR" 4 |
|
277 .IX Item "-EB" |
|
278 .PD 0 |
|
279 .IP "\fB\-EL\fR" 4 |
|
280 .IX Item "-EL" |
|
281 .IP "\fB\-\-endian={big|little}\fR" 4 |
|
282 .IX Item "--endian={big|little}" |
|
283 .PD |
|
284 Specify the endianness of the object files. This only affects |
|
285 disassembly. This can be useful when disassembling a file format which |
|
286 does not describe endianness information, such as S\-records. |
|
287 .IP "\fB\-f\fR" 4 |
|
288 .IX Item "-f" |
|
289 .PD 0 |
|
290 .IP "\fB\-\-file\-headers\fR" 4 |
|
291 .IX Item "--file-headers" |
|
292 .PD |
|
293 Display summary information from the overall header of |
|
294 each of the \fIobjfile\fR files. |
|
295 .IP "\fB\-\-file\-start\-context\fR" 4 |
|
296 .IX Item "--file-start-context" |
|
297 Specify that when displaying interlisted source code/disassembly |
|
298 (assumes \fB\-S\fR) from a file that has not yet been displayed, extend the |
|
299 context to the start of the file. |
|
300 .IP "\fB\-h\fR" 4 |
|
301 .IX Item "-h" |
|
302 .PD 0 |
|
303 .IP "\fB\-\-section\-headers\fR" 4 |
|
304 .IX Item "--section-headers" |
|
305 .IP "\fB\-\-headers\fR" 4 |
|
306 .IX Item "--headers" |
|
307 .PD |
|
308 Display summary information from the section headers of the |
|
309 object file. |
|
310 .Sp |
|
311 File segments may be relocated to nonstandard addresses, for example by |
|
312 using the \fB\-Ttext\fR, \fB\-Tdata\fR, or \fB\-Tbss\fR options to |
|
313 \&\fBld\fR. However, some object file formats, such as a.out, do not |
|
314 store the starting address of the file segments. In those situations, |
|
315 although \fBld\fR relocates the sections correctly, using \fBobjdump |
|
316 \&\-h\fR to list the file section headers cannot show the correct addresses. |
|
317 Instead, it shows the usual addresses, which are implicit for the |
|
318 target. |
|
319 .IP "\fB\-H\fR" 4 |
|
320 .IX Item "-H" |
|
321 .PD 0 |
|
322 .IP "\fB\-\-help\fR" 4 |
|
323 .IX Item "--help" |
|
324 .PD |
|
325 Print a summary of the options to \fBobjdump\fR and exit. |
|
326 .IP "\fB\-i\fR" 4 |
|
327 .IX Item "-i" |
|
328 .PD 0 |
|
329 .IP "\fB\-\-info\fR" 4 |
|
330 .IX Item "--info" |
|
331 .PD |
|
332 Display a list showing all architectures and object formats available |
|
333 for specification with \fB\-b\fR or \fB\-m\fR. |
|
334 .IP "\fB\-j\fR \fIname\fR" 4 |
|
335 .IX Item "-j name" |
|
336 .PD 0 |
|
337 .IP "\fB\-\-section=\fR\fIname\fR" 4 |
|
338 .IX Item "--section=name" |
|
339 .PD |
|
340 Display information only for section \fIname\fR. |
|
341 .IP "\fB\-l\fR" 4 |
|
342 .IX Item "-l" |
|
343 .PD 0 |
|
344 .IP "\fB\-\-line\-numbers\fR" 4 |
|
345 .IX Item "--line-numbers" |
|
346 .PD |
|
347 Label the display (using debugging information) with the filename and |
|
348 source line numbers corresponding to the object code or relocs shown. |
|
349 Only useful with \fB\-d\fR, \fB\-D\fR, or \fB\-r\fR. |
|
350 .IP "\fB\-m\fR \fImachine\fR" 4 |
|
351 .IX Item "-m machine" |
|
352 .PD 0 |
|
353 .IP "\fB\-\-architecture=\fR\fImachine\fR" 4 |
|
354 .IX Item "--architecture=machine" |
|
355 .PD |
|
356 Specify the architecture to use when disassembling object files. This |
|
357 can be useful when disassembling object files which do not describe |
|
358 architecture information, such as S\-records. You can list the available |
|
359 architectures with the \fB\-i\fR option. |
|
360 .IP "\fB\-M\fR \fIoptions\fR" 4 |
|
361 .IX Item "-M options" |
|
362 .PD 0 |
|
363 .IP "\fB\-\-disassembler\-options=\fR\fIoptions\fR" 4 |
|
364 .IX Item "--disassembler-options=options" |
|
365 .PD |
|
366 Pass target specific information to the disassembler. Only supported on |
|
367 some targets. If it is necessary to specify more than one |
|
368 disassembler option then multiple \fB\-M\fR options can be used or |
|
369 can be placed together into a comma separated list. |
|
370 .Sp |
|
371 If the target is an \s-1ARM\s0 architecture then this switch can be used to |
|
372 select which register name set is used during disassembler. Specifying |
|
373 \&\fB\-M reg-names-std\fR (the default) will select the register names as |
|
374 used in \s-1ARM\s0's instruction set documentation, but with register 13 called |
|
375 \&'sp', register 14 called 'lr' and register 15 called 'pc'. Specifying |
|
376 \&\fB\-M reg-names-apcs\fR will select the name set used by the \s-1ARM\s0 |
|
377 Procedure Call Standard, whilst specifying \fB\-M reg-names-raw\fR will |
|
378 just use \fBr\fR followed by the register number. |
|
379 .Sp |
|
380 There are also two variants on the \s-1APCS\s0 register naming scheme enabled |
|
381 by \fB\-M reg-names-atpcs\fR and \fB\-M reg-names-special-atpcs\fR which |
|
382 use the ARM/Thumb Procedure Call Standard naming conventions. (Either |
|
383 with the normal register names or the special register names). |
|
384 .Sp |
|
385 This option can also be used for \s-1ARM\s0 architectures to force the |
|
386 disassembler to interpret all instructions as Thumb instructions by |
|
387 using the switch \fB\-\-disassembler\-options=force\-thumb\fR. This can be |
|
388 useful when attempting to disassemble thumb code produced by other |
|
389 compilers. |
|
390 .Sp |
|
391 For the x86, some of the options duplicate functions of the \fB\-m\fR |
|
392 switch, but allow finer grained control. Multiple selections from the |
|
393 following may be specified as a comma separated string. |
|
394 \&\fBx86\-64\fR, \fBi386\fR and \fBi8086\fR select disassembly for |
|
395 the given architecture. \fBintel\fR and \fBatt\fR select between |
|
396 intel syntax mode and \s-1AT&T\s0 syntax mode. |
|
397 \&\fBintel-mnemonic\fR and \fBatt-mnemonic\fR select between |
|
398 intel mnemonic mode and \s-1AT&T\s0 mnemonic mode. \fBintel-mnemonic\fR |
|
399 implies \fBintel\fR and \fBatt-mnemonic\fR implies \fBatt\fR. |
|
400 \&\fBaddr64\fR, \fBaddr32\fR, |
|
401 \&\fBaddr16\fR, \fBdata32\fR and \fBdata16\fR specify the default |
|
402 address size and operand size. These four options will be overridden if |
|
403 \&\fBx86\-64\fR, \fBi386\fR or \fBi8086\fR appear later in the |
|
404 option string. Lastly, \fBsuffix\fR, when in \s-1AT&T\s0 mode, |
|
405 instructs the disassembler to print a mnemonic suffix even when the |
|
406 suffix could be inferred by the operands. |
|
407 .Sp |
|
408 For \s-1PPC\s0, \fBbooke\fR, \fBbooke32\fR and \fBbooke64\fR select |
|
409 disassembly of BookE instructions. \fB32\fR and \fB64\fR select |
|
410 PowerPC and PowerPC64 disassembly, respectively. \fBe300\fR |
|
411 selects disassembly for the e300 family. \fB440\fR selects |
|
412 disassembly for the PowerPC 440. \fBppcps\fR selects disassembly |
|
413 for the paired single instructions of the \s-1PPC750CL\s0. |
|
414 .Sp |
|
415 For \s-1MIPS\s0, this option controls the printing of instruction mnemonic |
|
416 names and register names in disassembled instructions. Multiple |
|
417 selections from the following may be specified as a comma separated |
|
418 string, and invalid options are ignored: |
|
419 .RS 4 |
|
420 .ie n .IP """no\-aliases""" 4 |
|
421 .el .IP "\f(CWno\-aliases\fR" 4 |
|
422 .IX Item "no-aliases" |
|
423 Print the 'raw' instruction mnemonic instead of some pseudo |
|
424 instruction mnemonic. I.e., print 'daddu' or 'or' instead of 'move', |
|
425 \&'sll' instead of 'nop', etc. |
|
426 .ie n .IP """gpr\-names=\f(CI\s-1ABI\s0\f(CW""" 4 |
|
427 .el .IP "\f(CWgpr\-names=\f(CI\s-1ABI\s0\f(CW\fR" 4 |
|
428 .IX Item "gpr-names=ABI" |
|
429 Print \s-1GPR\s0 (general\-purpose register) names as appropriate |
|
430 for the specified \s-1ABI\s0. By default, \s-1GPR\s0 names are selected according to |
|
431 the \s-1ABI\s0 of the binary being disassembled. |
|
432 .ie n .IP """fpr\-names=\f(CI\s-1ABI\s0\f(CW""" 4 |
|
433 .el .IP "\f(CWfpr\-names=\f(CI\s-1ABI\s0\f(CW\fR" 4 |
|
434 .IX Item "fpr-names=ABI" |
|
435 Print \s-1FPR\s0 (floating\-point register) names as |
|
436 appropriate for the specified \s-1ABI\s0. By default, \s-1FPR\s0 numbers are printed |
|
437 rather than names. |
|
438 .ie n .IP """cp0\-names=\f(CI\s-1ARCH\s0\f(CW""" 4 |
|
439 .el .IP "\f(CWcp0\-names=\f(CI\s-1ARCH\s0\f(CW\fR" 4 |
|
440 .IX Item "cp0-names=ARCH" |
|
441 Print \s-1CP0\s0 (system control coprocessor; coprocessor 0) register names |
|
442 as appropriate for the \s-1CPU\s0 or architecture specified by |
|
443 \&\fI\s-1ARCH\s0\fR. By default, \s-1CP0\s0 register names are selected according to |
|
444 the architecture and \s-1CPU\s0 of the binary being disassembled. |
|
445 .ie n .IP """hwr\-names=\f(CI\s-1ARCH\s0\f(CW""" 4 |
|
446 .el .IP "\f(CWhwr\-names=\f(CI\s-1ARCH\s0\f(CW\fR" 4 |
|
447 .IX Item "hwr-names=ARCH" |
|
448 Print \s-1HWR\s0 (hardware register, used by the \f(CW\*(C`rdhwr\*(C'\fR instruction) names |
|
449 as appropriate for the \s-1CPU\s0 or architecture specified by |
|
450 \&\fI\s-1ARCH\s0\fR. By default, \s-1HWR\s0 names are selected according to |
|
451 the architecture and \s-1CPU\s0 of the binary being disassembled. |
|
452 .ie n .IP """reg\-names=\f(CI\s-1ABI\s0\f(CW""" 4 |
|
453 .el .IP "\f(CWreg\-names=\f(CI\s-1ABI\s0\f(CW\fR" 4 |
|
454 .IX Item "reg-names=ABI" |
|
455 Print \s-1GPR\s0 and \s-1FPR\s0 names as appropriate for the selected \s-1ABI\s0. |
|
456 .ie n .IP """reg\-names=\f(CI\s-1ARCH\s0\f(CW""" 4 |
|
457 .el .IP "\f(CWreg\-names=\f(CI\s-1ARCH\s0\f(CW\fR" 4 |
|
458 .IX Item "reg-names=ARCH" |
|
459 Print CPU-specific register names (\s-1CP0\s0 register and \s-1HWR\s0 names) |
|
460 as appropriate for the selected \s-1CPU\s0 or architecture. |
|
461 .RE |
|
462 .RS 4 |
|
463 .Sp |
|
464 For any of the options listed above, \fI\s-1ABI\s0\fR or |
|
465 \&\fI\s-1ARCH\s0\fR may be specified as \fBnumeric\fR to have numbers printed |
|
466 rather than names, for the selected types of registers. |
|
467 You can list the available values of \fI\s-1ABI\s0\fR and \fI\s-1ARCH\s0\fR using |
|
468 the \fB\-\-help\fR option. |
|
469 .Sp |
|
470 For \s-1VAX\s0, you can specify function entry addresses with \fB\-M |
|
471 entry:0xf00ba\fR. You can use this multiple times to properly |
|
472 disassemble \s-1VAX\s0 binary files that don't contain symbol tables (like |
|
473 \&\s-1ROM\s0 dumps). In these cases, the function entry mask would otherwise |
|
474 be decoded as \s-1VAX\s0 instructions, which would probably lead the rest |
|
475 of the function being wrongly disassembled. |
|
476 .RE |
|
477 .IP "\fB\-p\fR" 4 |
|
478 .IX Item "-p" |
|
479 .PD 0 |
|
480 .IP "\fB\-\-private\-headers\fR" 4 |
|
481 .IX Item "--private-headers" |
|
482 .PD |
|
483 Print information that is specific to the object file format. The exact |
|
484 information printed depends upon the object file format. For some |
|
485 object file formats, no additional information is printed. |
|
486 .IP "\fB\-r\fR" 4 |
|
487 .IX Item "-r" |
|
488 .PD 0 |
|
489 .IP "\fB\-\-reloc\fR" 4 |
|
490 .IX Item "--reloc" |
|
491 .PD |
|
492 Print the relocation entries of the file. If used with \fB\-d\fR or |
|
493 \&\fB\-D\fR, the relocations are printed interspersed with the |
|
494 disassembly. |
|
495 .IP "\fB\-R\fR" 4 |
|
496 .IX Item "-R" |
|
497 .PD 0 |
|
498 .IP "\fB\-\-dynamic\-reloc\fR" 4 |
|
499 .IX Item "--dynamic-reloc" |
|
500 .PD |
|
501 Print the dynamic relocation entries of the file. This is only |
|
502 meaningful for dynamic objects, such as certain types of shared |
|
503 libraries. |
|
504 .IP "\fB\-s\fR" 4 |
|
505 .IX Item "-s" |
|
506 .PD 0 |
|
507 .IP "\fB\-\-full\-contents\fR" 4 |
|
508 .IX Item "--full-contents" |
|
509 .PD |
|
510 Display the full contents of any sections requested. By default all |
|
511 non-empty sections are displayed. |
|
512 .IP "\fB\-S\fR" 4 |
|
513 .IX Item "-S" |
|
514 .PD 0 |
|
515 .IP "\fB\-\-source\fR" 4 |
|
516 .IX Item "--source" |
|
517 .PD |
|
518 Display source code intermixed with disassembly, if possible. Implies |
|
519 \&\fB\-d\fR. |
|
520 .IP "\fB\-\-show\-raw\-insn\fR" 4 |
|
521 .IX Item "--show-raw-insn" |
|
522 When disassembling instructions, print the instruction in hex as well as |
|
523 in symbolic form. This is the default except when |
|
524 \&\fB\-\-prefix\-addresses\fR is used. |
|
525 .IP "\fB\-\-no\-show\-raw\-insn\fR" 4 |
|
526 .IX Item "--no-show-raw-insn" |
|
527 When disassembling instructions, do not print the instruction bytes. |
|
528 This is the default when \fB\-\-prefix\-addresses\fR is used. |
|
529 .IP "\fB\-W\fR" 4 |
|
530 .IX Item "-W" |
|
531 .PD 0 |
|
532 .IP "\fB\-\-dwarf\fR" 4 |
|
533 .IX Item "--dwarf" |
|
534 .PD |
|
535 Displays the contents of the \s-1DWARF\s0 debug sections in the file, if any |
|
536 are present. |
|
537 .IP "\fB\-G\fR" 4 |
|
538 .IX Item "-G" |
|
539 .PD 0 |
|
540 .IP "\fB\-\-stabs\fR" 4 |
|
541 .IX Item "--stabs" |
|
542 .PD |
|
543 Display the full contents of any sections requested. Display the |
|
544 contents of the .stab and .stab.index and .stab.excl sections from an |
|
545 \&\s-1ELF\s0 file. This is only useful on systems (such as Solaris 2.0) in which |
|
546 \&\f(CW\*(C`.stab\*(C'\fR debugging symbol-table entries are carried in an \s-1ELF\s0 |
|
547 section. In most other file formats, debugging symbol-table entries are |
|
548 interleaved with linkage symbols, and are visible in the \fB\-\-syms\fR |
|
549 output. |
|
550 .IP "\fB\-\-start\-address=\fR\fIaddress\fR" 4 |
|
551 .IX Item "--start-address=address" |
|
552 Start displaying data at the specified address. This affects the output |
|
553 of the \fB\-d\fR, \fB\-r\fR and \fB\-s\fR options. |
|
554 .IP "\fB\-\-stop\-address=\fR\fIaddress\fR" 4 |
|
555 .IX Item "--stop-address=address" |
|
556 Stop displaying data at the specified address. This affects the output |
|
557 of the \fB\-d\fR, \fB\-r\fR and \fB\-s\fR options. |
|
558 .IP "\fB\-t\fR" 4 |
|
559 .IX Item "-t" |
|
560 .PD 0 |
|
561 .IP "\fB\-\-syms\fR" 4 |
|
562 .IX Item "--syms" |
|
563 .PD |
|
564 Print the symbol table entries of the file. |
|
565 This is similar to the information provided by the \fBnm\fR program, |
|
566 although the display format is different. The format of the output |
|
567 depends upon the format of the file being dumped, but there are two main |
|
568 types. One looks like this: |
|
569 .Sp |
|
570 .Vb 2 |
|
571 \& [ 4](sec 3)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x00000000 .bss |
|
572 \& [ 6](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 fred |
|
573 .Ve |
|
574 .Sp |
|
575 where the number inside the square brackets is the number of the entry |
|
576 in the symbol table, the \fIsec\fR number is the section number, the |
|
577 \&\fIfl\fR value are the symbol's flag bits, the \fIty\fR number is the |
|
578 symbol's type, the \fIscl\fR number is the symbol's storage class and |
|
579 the \fInx\fR value is the number of auxilary entries associated with |
|
580 the symbol. The last two fields are the symbol's value and its name. |
|
581 .Sp |
|
582 The other common output format, usually seen with \s-1ELF\s0 based files, |
|
583 looks like this: |
|
584 .Sp |
|
585 .Vb 2 |
|
586 \& 00000000 l d .bss 00000000 .bss |
|
587 \& 00000000 g .text 00000000 fred |
|
588 .Ve |
|
589 .Sp |
|
590 Here the first number is the symbol's value (sometimes refered to as |
|
591 its address). The next field is actually a set of characters and |
|
592 spaces indicating the flag bits that are set on the symbol. These |
|
593 characters are described below. Next is the section with which the |
|
594 symbol is associated or \fI*ABS*\fR if the section is absolute (ie |
|
595 not connected with any section), or \fI*UND*\fR if the section is |
|
596 referenced in the file being dumped, but not defined there. |
|
597 .Sp |
|
598 After the section name comes another field, a number, which for common |
|
599 symbols is the alignment and for other symbol is the size. Finally |
|
600 the symbol's name is displayed. |
|
601 .Sp |
|
602 The flag characters are divided into 7 groups as follows: |
|
603 .RS 4 |
|
604 .ie n .IP """l""" 4 |
|
605 .el .IP "\f(CWl\fR" 4 |
|
606 .IX Item "l" |
|
607 .PD 0 |
|
608 .ie n .IP """g""" 4 |
|
609 .el .IP "\f(CWg\fR" 4 |
|
610 .IX Item "g" |
|
611 .ie n .IP """!""" 4 |
|
612 .el .IP "\f(CW!\fR" 4 |
|
613 .IX Item "!" |
|
614 .PD |
|
615 The symbol is local (l), global (g), neither (a space) or both (!). A |
|
616 symbol can be neither local or global for a variety of reasons, e.g., |
|
617 because it is used for debugging, but it is probably an indication of |
|
618 a bug if it is ever both local and global. |
|
619 .ie n .IP """w""" 4 |
|
620 .el .IP "\f(CWw\fR" 4 |
|
621 .IX Item "w" |
|
622 The symbol is weak (w) or strong (a space). |
|
623 .ie n .IP """C""" 4 |
|
624 .el .IP "\f(CWC\fR" 4 |
|
625 .IX Item "C" |
|
626 The symbol denotes a constructor (C) or an ordinary symbol (a space). |
|
627 .ie n .IP """W""" 4 |
|
628 .el .IP "\f(CWW\fR" 4 |
|
629 .IX Item "W" |
|
630 The symbol is a warning (W) or a normal symbol (a space). A warning |
|
631 symbol's name is a message to be displayed if the symbol following the |
|
632 warning symbol is ever referenced. |
|
633 .ie n .IP """I""" 4 |
|
634 .el .IP "\f(CWI\fR" 4 |
|
635 .IX Item "I" |
|
636 The symbol is an indirect reference to another symbol (I) or a normal |
|
637 symbol (a space). |
|
638 .ie n .IP """d""" 4 |
|
639 .el .IP "\f(CWd\fR" 4 |
|
640 .IX Item "d" |
|
641 .PD 0 |
|
642 .ie n .IP """D""" 4 |
|
643 .el .IP "\f(CWD\fR" 4 |
|
644 .IX Item "D" |
|
645 .PD |
|
646 The symbol is a debugging symbol (d) or a dynamic symbol (D) or a |
|
647 normal symbol (a space). |
|
648 .ie n .IP """F""" 4 |
|
649 .el .IP "\f(CWF\fR" 4 |
|
650 .IX Item "F" |
|
651 .PD 0 |
|
652 .ie n .IP """f""" 4 |
|
653 .el .IP "\f(CWf\fR" 4 |
|
654 .IX Item "f" |
|
655 .ie n .IP """O""" 4 |
|
656 .el .IP "\f(CWO\fR" 4 |
|
657 .IX Item "O" |
|
658 .PD |
|
659 The symbol is the name of a function (F) or a file (f) or an object |
|
660 (O) or just a normal symbol (a space). |
|
661 .RE |
|
662 .RS 4 |
|
663 .RE |
|
664 .IP "\fB\-T\fR" 4 |
|
665 .IX Item "-T" |
|
666 .PD 0 |
|
667 .IP "\fB\-\-dynamic\-syms\fR" 4 |
|
668 .IX Item "--dynamic-syms" |
|
669 .PD |
|
670 Print the dynamic symbol table entries of the file. This is only |
|
671 meaningful for dynamic objects, such as certain types of shared |
|
672 libraries. This is similar to the information provided by the \fBnm\fR |
|
673 program when given the \fB\-D\fR (\fB\-\-dynamic\fR) option. |
|
674 .IP "\fB\-\-special\-syms\fR" 4 |
|
675 .IX Item "--special-syms" |
|
676 When displaying symbols include those which the target considers to be |
|
677 special in some way and which would not normally be of interest to the |
|
678 user. |
|
679 .IP "\fB\-V\fR" 4 |
|
680 .IX Item "-V" |
|
681 .PD 0 |
|
682 .IP "\fB\-\-version\fR" 4 |
|
683 .IX Item "--version" |
|
684 .PD |
|
685 Print the version number of \fBobjdump\fR and exit. |
|
686 .IP "\fB\-x\fR" 4 |
|
687 .IX Item "-x" |
|
688 .PD 0 |
|
689 .IP "\fB\-\-all\-headers\fR" 4 |
|
690 .IX Item "--all-headers" |
|
691 .PD |
|
692 Display all available header information, including the symbol table and |
|
693 relocation entries. Using \fB\-x\fR is equivalent to specifying all of |
|
694 \&\fB\-a \-f \-h \-p \-r \-t\fR. |
|
695 .IP "\fB\-w\fR" 4 |
|
696 .IX Item "-w" |
|
697 .PD 0 |
|
698 .IP "\fB\-\-wide\fR" 4 |
|
699 .IX Item "--wide" |
|
700 .PD |
|
701 Format some lines for output devices that have more than 80 columns. |
|
702 Also do not truncate symbol names when they are displayed. |
|
703 .IP "\fB\-z\fR" 4 |
|
704 .IX Item "-z" |
|
705 .PD 0 |
|
706 .IP "\fB\-\-disassemble\-zeroes\fR" 4 |
|
707 .IX Item "--disassemble-zeroes" |
|
708 .PD |
|
709 Normally the disassembly output will skip blocks of zeroes. This |
|
710 option directs the disassembler to disassemble those blocks, just like |
|
711 any other data. |
|
712 .IP "\fB@\fR\fIfile\fR" 4 |
|
713 .IX Item "@file" |
|
714 Read command-line options from \fIfile\fR. The options read are |
|
715 inserted in place of the original @\fIfile\fR option. If \fIfile\fR |
|
716 does not exist, or cannot be read, then the option will be treated |
|
717 literally, and not removed. |
|
718 .Sp |
|
719 Options in \fIfile\fR are separated by whitespace. A whitespace |
|
720 character may be included in an option by surrounding the entire |
|
721 option in either single or double quotes. Any character (including a |
|
722 backslash) may be included by prefixing the character to be included |
|
723 with a backslash. The \fIfile\fR may itself contain additional |
|
724 @\fIfile\fR options; any such options will be processed recursively. |
|
725 .SH "SEE ALSO" |
|
726 .IX Header "SEE ALSO" |
|
727 \&\fInm\fR\|(1), \fIreadelf\fR\|(1), and the Info entries for \fIbinutils\fR. |
|
728 .SH "COPYRIGHT" |
|
729 .IX Header "COPYRIGHT" |
|
730 Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, |
|
731 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. |
|
732 .PP |
|
733 Permission is granted to copy, distribute and/or modify this document |
|
734 under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.2 |
|
735 or any later version published by the Free Software Foundation; |
|
736 with no Invariant Sections, with no Front-Cover Texts, and with no |
|
737 Back-Cover Texts. A copy of the license is included in the |
|
738 section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R". |