Penguin
Annotated edit history of objdump(1) version 1 showing authors affecting page license. View with all changes included.
Rev Author # Line
1 perry 1 OBJDUMP
2 !!!OBJDUMP
3 NAME
4 SYNOPSIS
5 DESCRIPTION
6 OPTIONS
7 SEE ALSO
8 COPYRIGHT
9 ----
10 !!NAME
11
12
13 objdump - display information from object files.
14 !!SYNOPSIS
15
16
17 objdump [[__-a--archive-headers__] [[__-b__
18 ''bfdname''__--target=__''bfdname'']
19 [[__-C--demangle__[[=''style''] ]
20 [[__-d--disassemble__] [[__-D--disassemble-all__]
21 [[__-z--disassemble-zeroes__] [[__-EB-EL--endian=__{big
22 little }] [[__-f--file-headers__]
23 [[__--file-start-context__] [[__-g--debugging__]
24 [[__-h--section-headers--headers__] [[__-i--info__]
25 [[__-j__ ''section''__--section=__''section'']
26 [[__-l--line-numbers__] [[__-S--source__] [[__-m__
27 ''machine''__--architecture=__''machine'']
28 [[__-M__
29 ''options''__--disassembler-options=__''options'']
30 [[__-p--private-headers__] [[__-r--reloc__]
31 [[__-R--dynamic-reloc__] [[__-s--full-contents__]
32 [[__-G--stabs__] [[__-t--syms__]
33 [[__-T--dynamic-syms__] [[__-x--all-headers__]
34 [[__-w--wide__] [[__--start-address=__''address'']
35 [[__--stop-address=__''address'']
36 [[__--prefix-addresses__] [[__--[[no-]show-raw-insn__]
37 [[__--adjust-vma=__''offset''] [[__-V--version__]
38 [[__-H--help__] ''objfile''...
39 !!DESCRIPTION
40
41
42 __objdump__ displays information about one or more object
43 files. The options control what particular information to
44 display. This information is mostly useful to programmers
45 who are working on the compilation tools, as opposed to
46 programmers who just want their program to compile and
47 work.
48
49
50 ''objfile''... are the object files to be examined. When
51 you specify archives, __objdump__ shows information on
52 each of the member object files.
53 !!OPTIONS
54
55
56 The long and short forms of options, shown here as
57 alternatives, are equivalent. At least one option from the
58 list __-a,-d,-D,-f,-g,-G,-h,-H,-p,-r,-R,-S,-t,-T,-V,-x__
59 must be given.
60
61
62 __-a__
63
64
65 __--archive-header__
66
67
68 If any of the ''objfile'' files are archives, display the
69 archive header information (in a format similar to __ls
70 -l__). Besides the information you could list with __ar
71 tv__, __objdump -a__ shows the object file format of
72 each archive member.
73
74
75 __--adjust-vma=__''offset''
76
77
78 When dumping information, first add ''offset'' to all the
79 section addresses. This is useful if the section addresses
80 do not correspond to the symbol table, which can happen when
81 putting sections at particular addresses when using a format
82 which can not represent section addresses, such as
83 a.out.
84
85
86 __-b__ ''bfdname''
87
88
89 __--target=__''bfdname''
90
91
92 Specify that the object-code format for the object files is
93 ''bfdname''. This option may not be necessary;
94 ''objdump'' can automatically recognize many
95 formats.
96
97
98 For example,
99
100
101 objdump -b oasys -m vax -h fu.o
102 displays summary information from the section headers (__-h__) of ''fu.o'', which is explicitly identified (__-m__) as a VAX object file in the format produced by Oasys compilers. You can list the formats available with the __-i__ option.
103
104
105 __-C__
106
107
108 __--demangle[[=__''style''__]__
109
110
111 Decode (''demangle'') low-level symbol names into
112 user-level names. Besides removing any initial underscore
113 prepended by the system, this makes C ++
114 function names readable. Different compilers have different
115 mangling styles. The optional demangling style argument can
116 be used to choose an appropriate demangling style for your
117 compiler.
118
119
120 __-G__
121
122
123 __--debugging__
124
125
126 Display debugging information. This attempts to parse
127 debugging information stored in the file and print it out
128 using a C like syntax. Only certain types of debugging
129 information have been implemented.
130
131
132 __-d__
133
134
135 __--disassemble__
136
137
138 Display the assembler mnemonics for the machine instructions
139 from ''objfile''. This option only disassembles those
140 sections which are expected to contain
141 instructions.
142
143
144 __-D__
145
146
147 __--disassemble-all__
148
149
150 Like __-d__, but disassemble the contents of all
151 sections, not just those expected to contain
152 instructions.
153
154
155 __--prefix-addresses__
156
157
158 When disassembling, print the complete address on each line.
159 This is the older disassembly format.
160
161
162 __--disassemble-zeroes__
163
164
165 Normally the disassembly output will skip blocks of zeroes.
166 This option directs the disassembler to disassemble those
167 blocks, just like any other data.
168
169
170 __-EB__
171
172
173 __-EL__
174
175
176 __--endian={biglittle}__
177
178
179 Specify the endianness of the object files. This only
180 affects disassembly. This can be useful when disassembling a
181 file format which does not describe endianness information,
182 such as S-records.
183
184
185 __-f__
186
187
188 __--file-header__
189
190
191 Display summary information from the overall header of each
192 of the ''objfile'' files.
193
194
195 __--file-start-context__
196
197
198 Specify that when displaying interlisted source
199 code/disassembly (assumes __-S__) from a file that has
200 not yet been displayed, extend the context to the start of
201 the file.
202
203
204 __-h__
205
206
207 __--section-header__
208
209
210 __--header__
211
212
213 Display summary information from the section headers of the
214 object file.
215
216
217 File segments may be relocated to nonstandard addresses, for
218 example by using the __-Ttext__, __-Tdata__, or
219 __-Tbss__ options to __ld__. However, some object file
220 formats, such as a.out, do not store the starting address of
221 the file segments. In those situations, although __ld__
222 relocates the sections correctly, using __objdump -h__ to
223 list the file section headers cannot show the correct
224 addresses. Instead, it shows the usual addresses, which are
225 implicit for the target.
226
227
228 __--help__
229
230
231 Print a summary of the options to __objdump__ and
232 exit.
233
234
235 __-i__
236
237
238 __--info__
239
240
241 Display a list showing all architectures and object formats
242 available for specification with __-b__ or
243 __-m__.
244
245
246 __-j__ ''name''
247
248
249 __--section=__''name''
250
251
252 Display information only for section
253 ''name''.
254
255
256 __-l__
257
258
259 __--line-numbers__
260
261
262 Label the display (using debugging information) with the
263 filename and source line numbers corresponding to the object
264 code or relocs shown. Only useful with __-d__, __-D__,
265 or __-r__.
266
267
268 __-m__ ''machine''
269
270
271 __--architecture=__''machine''
272
273
274 Specify the architecture to use when disassembling object
275 files. This can be useful when disassembling object files
276 which do not describe architecture information, such as
277 S-records. You can list the available architectures with the
278 __-i__ option.
279
280
281 __-M__ ''options''
282
283
284 __--disassembler-options=__''options''
285
286
287 Pass target specific information to the disassembler. Only
288 supported on some targets.
289
290
291 If the target is an ARM architecture then
292 this switch can be used to select which register name set is
293 used during disassembler. Specifying __-M reg-name-std__
294 (the default) will select the register names as used in
295 ARM 's instruction set documentation, but
296 with register 13 called 'sp', register 14 called 'lr' and
297 register 15 called 'pc'. Specifying __-M reg-names-apcs__
298 will select the name set used by the ARM
299 Procedure Call Standard, whilst specifying __-M
300 reg-names-raw__ will just use __r__ followed by the
301 register number.
302
303
304 There are also two variants on the APCS
305 register naming scheme enabled by __-M reg-names-atpcs__
306 and __-M reg-names-special-atpcs__ which use the
307 ARM/Thumb Procedure Call Standard naming conventions.
308 (Either with the normal register name or the special
309 register names).
310
311
312 This option can also be used for ARM
313 architectures to force the disassembler to interpret all
314 instructions as Thumb instructions by using the switch
315 __--disassembler-options=force-thumb__. This can be
316 useful when attempting to disassemble thumb code produced by
317 other compilers.
318
319
320 For the x86, some of the options duplicate functions of the
321 __-m__ switch, but allow finer grained control. Multiple
322 selections from the following may be specified as a comma
323 separated string. __x86-64__, __i386__ and
324 __i8086__ select disassembly for the given architecture.
325 __intel__ and __att__ select between intel syntax mode
326 and AT syntax mode. __addr32__,
327 __addr16__, __data32__ and __data16__ specify the
328 default address size and operand size. These four options
329 will be overridden if __x86-64__, __i386__ or
330 __i8086__ appear later in the option string. Lastly,
331 __suffix__, when in AT mode,
332 instructs the dissassembler to print a mnemonic suffix even
333 when the suffix could be inferred by the
334 operands.
335
336
337 For PPC , __booke__, __booke32__ and
338 __booke64__ select disassembly of BookE instructions.
339 __32__ and __64__ select PowerPC and PowerPC64
340 disassembly, respectively.
341
342
343 __-p__
344
345
346 __--private-headers__
347
348
349 Print information that is specific to the object file
350 format. The exact information printed depends upon the
351 object file format. For some object file formats, no
352 additional information is printed.
353
354
355 __-r__
356
357
358 __--reloc__
359
360
361 Print the relocation entries of the file. If used with
362 __-d__ or __-D__, the relocations are printed
363 interspersed with the disassembly.
364
365
366 __-R__
367
368
369 __--dynamic-reloc__
370
371
372 Print the dynamic relocation entries of the file. This is
373 only meaningful for dynamic objects, such as certain types
374 of shared libraries.
375
376
377 __-s__
378
379
380 __--full-contents__
381
382
383 Display the full contents of any sections
384 requested.
385
386
387 __-S__
388
389
390 __--source__
391
392
393 Display source code intermixed with disassembly, if
394 possible. Implies __-d__.
395
396
397 __--show-raw-insn__
398
399
400 When disassembling instructions, print the instruction in
401 hex as well as in symbolic form. This is the default except
402 when __--prefix-addresses__ is used.
403
404
405 __--no-show-raw-insn__
406
407
408 When disassembling instructions, do not print the
409 instruction bytes. This is the default when
410 __--prefix-addresses__ is used.
411
412
413 __-G__
414
415
416 __--stabs__
417
418
419 Display the full contents of any sections requested. Display
420 the contents of the .stab and .stab.index and .stab.excl
421 sections from an ELF file. This is only
422 useful on systems (such as Solaris 2.0) in which
423 .stab debugging symbol-table entries are carried in
424 an ELF section. In most other file formats,
425 debugging symbol-table entries are interleaved with linkage
426 symbols, and are visible in the __--syms__
427 output.
428
429
430 __--start-address=__''address''
431
432
433 Start displaying data at the specified address. This affects
434 the output of the __-d__, __-r__ and __-s__
435 options.
436
437
438 __--stop-address=__''address''
439
440
441 Stop displaying data at the specified address. This affects
442 the output of the __-d__, __-r__ and __-s__
443 options.
444
445
446 __-t__
447
448
449 __--syms__
450
451
452 Print the symbol table entries of the file. This is similar
453 to the information provided by the __nm__
454 program.
455
456
457 __-T__
458
459
460 __--dynamic-syms__
461
462
463 Print the dynamic symbol table entries of the file. This is
464 only meaningful for dynamic objects, such as certain types
465 of shared libraries. This is similar to the information
466 provided by the __nm__ program when given the __-D__
467 (__--dynamic__) option.
468
469
470 __--version__
471
472
473 Print the version number of __objdump__ and
474 exit.
475
476
477 __-x__
478
479
480 __--all-header__
481
482
483 Display all available header information, including the
484 symbol table and relocation entries. Using __-x__ is
485 equivalent to specifying all of __-a -f -h -r
486 -t__.
487
488
489 __-w__
490
491
492 __--wide__
493
494
495 Format some lines for output devices that have more than 80
496 columns. Also do not truncate symbol names when they are
497 displayed.
498 !!SEE ALSO
499
500
501 nm(1), readelf(1), and the Info entries for
502 ''binutils''.
503 !!COPYRIGHT
504
505
506 Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000,
507 2001, 2002 Free Software Foundation, Inc.
508
509
510 Permission is granted to copy, distribute and/or modify this
511 document under the terms of the GNU Free
512 Documentation License, Version 1.1 or any later version
513 published by the Free Software Foundation; with no Invariant
514 Sections, with no Front-Cover Texts, and with no Back-Cover
515 Texts. A copy of the license is included in the section
516 entitled `` GNU Free Documentation
517 License''.
518 ----
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.