1OBJDUMP(1)                   GNU Development Tools                  OBJDUMP(1)
2
3
4

NAME

6       objdump - display information from object files
7

SYNOPSIS

9       objdump [-a|--archive-headers]
10               [-b bfdname|--target=bfdname]
11               [-C|--demangle[=style] ]
12               [-d|--disassemble[=symbol]]
13               [-D|--disassemble-all]
14               [-z|--disassemble-zeroes]
15               [-EB|-EL|--endian={big | little }]
16               [-f|--file-headers]
17               [-F|--file-offsets]
18               [--file-start-context]
19               [-g|--debugging]
20               [-e|--debugging-tags]
21               [-h|--section-headers|--headers]
22               [-i|--info]
23               [-j section|--section=section]
24               [-l|--line-numbers]
25               [-S|--source]
26               [--source-comment[=text]]
27               [-m machine|--architecture=machine]
28               [-M options|--disassembler-options=options]
29               [-p|--private-headers]
30               [-P options|--private=options]
31               [-r|--reloc]
32               [-R|--dynamic-reloc]
33               [-s|--full-contents]
34               [-W[lLiaprmfFsoORtUuTgAck]|
35                --dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links]]
36               [-WK|--dwarf=follow-links]
37               [-WN|--dwarf=no-follow-links]
38               [-L|--process-links]
39               [--ctf=section]
40               [-G|--stabs]
41               [-t|--syms]
42               [-T|--dynamic-syms]
43               [-x|--all-headers]
44               [-w|--wide]
45               [--start-address=address]
46               [--stop-address=address]
47               [--no-addresses]
48               [--prefix-addresses]
49               [--[no-]show-raw-insn]
50               [--adjust-vma=offset]
51               [--dwarf-depth=n]
52               [--dwarf-start=n]
53               [--ctf-parent=section]
54               [--no-recurse-limit|--recurse-limit]
55               [--special-syms]
56               [--prefix=prefix]
57               [--prefix-strip=level]
58               [--insn-width=width]
59               [--visualize-jumps[=color|=extended-color|=off]
60               [-V|--version]
61               [-H|--help]
62               objfile...
63

DESCRIPTION

65       objdump displays information about one or more object files.  The
66       options control what particular information to display.  This
67       information is mostly useful to programmers who are working on the
68       compilation tools, as opposed to programmers who just want their
69       program to compile and work.
70
71       objfile... are the object files to be examined.  When you specify
72       archives, objdump shows information on each of the member object files.
73

OPTIONS

75       The long and short forms of options, shown here as alternatives, are
76       equivalent.  At least one option from the list
77       -a,-d,-D,-e,-f,-g,-G,-h,-H,-p,-P,-r,-R,-s,-S,-t,-T,-V,-x must be given.
78
79       -a
80       --archive-header
81           If any of the objfile files are archives, display the archive
82           header information (in a format similar to ls -l).  Besides the
83           information you could list with ar tv, objdump -a shows the object
84           file format of each archive member.
85
86       --adjust-vma=offset
87           When dumping information, first add offset to all the section
88           addresses.  This is useful if the section addresses do not
89           correspond to the symbol table, which can happen when putting
90           sections at particular addresses when using a format which can not
91           represent section addresses, such as a.out.
92
93       -b bfdname
94       --target=bfdname
95           Specify that the object-code format for the object files is
96           bfdname.  This option may not be necessary; objdump can
97           automatically recognize many formats.
98
99           For example,
100
101                   objdump -b oasys -m vax -h fu.o
102
103           displays summary information from the section headers (-h) of fu.o,
104           which is explicitly identified (-m) as a VAX object file in the
105           format produced by Oasys compilers.  You can list the formats
106           available with the -i option.
107
108       -C
109       --demangle[=style]
110           Decode (demangle) low-level symbol names into user-level names.
111           Besides removing any initial underscore prepended by the system,
112           this makes C++ function names readable.  Different compilers have
113           different mangling styles. The optional demangling style argument
114           can be used to choose an appropriate demangling style for your
115           compiler.
116
117       --recurse-limit
118       --no-recurse-limit
119       --recursion-limit
120       --no-recursion-limit
121           Enables or disables a limit on the amount of recursion performed
122           whilst demangling strings.  Since the name mangling formats allow
123           for an infinite level of recursion it is possible to create strings
124           whose decoding will exhaust the amount of stack space available on
125           the host machine, triggering a memory fault.  The limit tries to
126           prevent this from happening by restricting recursion to 2048 levels
127           of nesting.
128
129           The default is for this limit to be enabled, but disabling it may
130           be necessary in order to demangle truly complicated names.  Note
131           however that if the recursion limit is disabled then stack
132           exhaustion is possible and any bug reports about such an event will
133           be rejected.
134
135       -g
136       --debugging
137           Display debugging information.  This attempts to parse STABS
138           debugging format information stored in the file and print it out
139           using a C like syntax.  If no STABS debugging was found this option
140           falls back on the -W option to print any DWARF information in the
141           file.
142
143       -e
144       --debugging-tags
145           Like -g, but the information is generated in a format compatible
146           with ctags tool.
147
148       -d
149       --disassemble
150       --disassemble=symbol
151           Display the assembler mnemonics for the machine instructions from
152           the input file.  This option only disassembles those sections which
153           are expected to contain instructions.  If the optional symbol
154           argument is given, then display the assembler mnemonics starting at
155           symbol.  If symbol is a function name then disassembly will stop at
156           the end of the function, otherwise it will stop when the next
157           symbol is encountered.  If there are no matches for symbol then
158           nothing will be displayed.
159
160           Note if the --dwarf=follow-links option is enabled then any symbol
161           tables in linked debug info files will be read in and used when
162           disassembling.
163
164       -D
165       --disassemble-all
166           Like -d, but disassemble the contents of all sections, not just
167           those expected to contain instructions.
168
169           This option also has a subtle effect on the disassembly of
170           instructions in code sections.  When option -d is in effect objdump
171           will assume that any symbols present in a code section occur on the
172           boundary between instructions and it will refuse to disassemble
173           across such a boundary.  When option -D is in effect however this
174           assumption is supressed.  This means that it is possible for the
175           output of -d and -D to differ if, for example, data is stored in
176           code sections.
177
178           If the target is an ARM architecture this switch also has the
179           effect of forcing the disassembler to decode pieces of data found
180           in code sections as if they were instructions.
181
182           Note if the --dwarf=follow-links option is enabled then any symbol
183           tables in linked debug info files will be read in and used when
184           disassembling.
185
186       --no-addresses
187           When disassembling, don't print addresses on each line or for
188           symbols and relocation offsets.  In combination with
189           --no-show-raw-insn this may be useful for comparing compiler
190           output.
191
192       --prefix-addresses
193           When disassembling, print the complete address on each line.  This
194           is the older disassembly format.
195
196       -EB
197       -EL
198       --endian={big|little}
199           Specify the endianness of the object files.  This only affects
200           disassembly.  This can be useful when disassembling a file format
201           which does not describe endianness information, such as S-records.
202
203       -f
204       --file-headers
205           Display summary information from the overall header of each of the
206           objfile files.
207
208       -F
209       --file-offsets
210           When disassembling sections, whenever a symbol is displayed, also
211           display the file offset of the region of data that is about to be
212           dumped.  If zeroes are being skipped, then when disassembly
213           resumes, tell the user how many zeroes were skipped and the file
214           offset of the location from where the disassembly resumes.  When
215           dumping sections, display the file offset of the location from
216           where the dump starts.
217
218       --file-start-context
219           Specify that when displaying interlisted source code/disassembly
220           (assumes -S) from a file that has not yet been displayed, extend
221           the context to the start of the file.
222
223       -h
224       --section-headers
225       --headers
226           Display summary information from the section headers of the object
227           file.
228
229           File segments may be relocated to nonstandard addresses, for
230           example by using the -Ttext, -Tdata, or -Tbss options to ld.
231           However, some object file formats, such as a.out, do not store the
232           starting address of the file segments.  In those situations,
233           although ld relocates the sections correctly, using objdump -h to
234           list the file section headers cannot show the correct addresses.
235           Instead, it shows the usual addresses, which are implicit for the
236           target.
237
238           Note, in some cases it is possible for a section to have both the
239           READONLY and the NOREAD attributes set.  In such cases the NOREAD
240           attribute takes precedence, but objdump will report both since the
241           exact setting of the flag bits might be important.
242
243       -H
244       --help
245           Print a summary of the options to objdump and exit.
246
247       -i
248       --info
249           Display a list showing all architectures and object formats
250           available for specification with -b or -m.
251
252       -j name
253       --section=name
254           Display information only for section name.
255
256       -L
257       --process-links
258           Display the contents of non-debug sections found in separate
259           debuginfo files that are linked to the main file.  This option
260           automatically implies the -WK option, and only sections requested
261           by other command line options will be displayed.
262
263       -l
264       --line-numbers
265           Label the display (using debugging information) with the filename
266           and source line numbers corresponding to the object code or relocs
267           shown.  Only useful with -d, -D, or -r.
268
269       -m machine
270       --architecture=machine
271           Specify the architecture to use when disassembling object files.
272           This can be useful when disassembling object files which do not
273           describe architecture information, such as S-records.  You can list
274           the available architectures with the -i option.
275
276           If the target is an ARM architecture then this switch has an
277           additional effect.  It restricts the disassembly to only those
278           instructions supported by the architecture specified by machine.
279           If it is necessary to use this switch because the input file does
280           not contain any architecture information, but it is also desired to
281           disassemble all the instructions use -marm.
282
283       -M options
284       --disassembler-options=options
285           Pass target specific information to the disassembler.  Only
286           supported on some targets.  If it is necessary to specify more than
287           one disassembler option then multiple -M options can be used or can
288           be placed together into a comma separated list.
289
290           For ARC, dsp controls the printing of DSP instructions, spfp
291           selects the printing of FPX single precision FP instructions, dpfp
292           selects the printing of FPX double precision FP instructions,
293           quarkse_em selects the printing of special QuarkSE-EM instructions,
294           fpuda selects the printing of double precision assist instructions,
295           fpus selects the printing of FPU single precision FP instructions,
296           while fpud selects the printing of FPU double precision FP
297           instructions.  Additionally, one can choose to have all the
298           immediates printed in hexadecimal using hex.  By default, the short
299           immediates are printed using the decimal representation, while the
300           long immediate values are printed as hexadecimal.
301
302           cpu=... allows one to enforce a particular ISA when disassembling
303           instructions, overriding the -m value or whatever is in the ELF
304           file.  This might be useful to select ARC EM or HS ISA, because
305           architecture is same for those and disassembler relies on private
306           ELF header data to decide if code is for EM or HS.  This option
307           might be specified multiple times - only the latest value will be
308           used.  Valid values are same as for the assembler -mcpu=... option.
309
310           If the target is an ARM architecture then this switch can be used
311           to select which register name set is used during disassembler.
312           Specifying -M reg-names-std (the default) will select the register
313           names as used in ARM's instruction set documentation, but with
314           register 13 called 'sp', register 14 called 'lr' and register 15
315           called 'pc'.  Specifying -M reg-names-apcs will select the name set
316           used by the ARM Procedure Call Standard, whilst specifying -M reg-
317           names-raw will just use r followed by the register number.
318
319           There are also two variants on the APCS register naming scheme
320           enabled by -M reg-names-atpcs and -M reg-names-special-atpcs which
321           use the ARM/Thumb Procedure Call Standard naming conventions.
322           (Either with the normal register names or the special register
323           names).
324
325           This option can also be used for ARM architectures to force the
326           disassembler to interpret all instructions as Thumb instructions by
327           using the switch --disassembler-options=force-thumb.  This can be
328           useful when attempting to disassemble thumb code produced by other
329           compilers.
330
331           For AArch64 targets this switch can be used to set whether
332           instructions are disassembled as the most general instruction using
333           the -M no-aliases option or whether instruction notes should be
334           generated as comments in the disasssembly using -M notes.
335
336           For the x86, some of the options duplicate functions of the -m
337           switch, but allow finer grained control.
338
339           "x86-64"
340           "i386"
341           "i8086"
342               Select disassembly for the given architecture.
343
344           "intel"
345           "att"
346               Select between intel syntax mode and AT&T syntax mode.
347
348           "amd64"
349           "intel64"
350               Select between AMD64 ISA and Intel64 ISA.
351
352           "intel-mnemonic"
353           "att-mnemonic"
354               Select between intel mnemonic mode and AT&T mnemonic mode.
355               Note: "intel-mnemonic" implies "intel" and "att-mnemonic"
356               implies "att".
357
358           "addr64"
359           "addr32"
360           "addr16"
361           "data32"
362           "data16"
363               Specify the default address size and operand size.  These five
364               options will be overridden if "x86-64", "i386" or "i8086"
365               appear later in the option string.
366
367           "suffix"
368               When in AT&T mode and also for a limited set of instructions
369               when in Intel mode, instructs the disassembler to print a
370               mnemonic suffix even when the suffix could be inferred by the
371               operands or, for certain instructions, the execution mode's
372               defaults.
373
374           For PowerPC, the -M argument raw selects disasssembly of hardware
375           insns rather than aliases.  For example, you will see "rlwinm"
376           rather than "clrlwi", and "addi" rather than "li".  All of the -m
377           arguments for gas that select a CPU are supported.  These are: 403,
378           405, 440, 464, 476, 601, 603, 604, 620, 7400, 7410, 7450, 7455,
379           750cl, 821, 850, 860, a2, booke, booke32, cell, com, e200z4, e300,
380           e500, e500mc, e500mc64, e500x2, e5500, e6500, efs, power4, power5,
381           power6, power7, power8, power9, power10, ppc, ppc32, ppc64,
382           ppc64bridge, ppcps, pwr, pwr2, pwr4, pwr5, pwr5x, pwr6, pwr7, pwr8,
383           pwr9, pwr10, pwrx, titan, and vle.  32 and 64 modify the default or
384           a prior CPU selection, disabling and enabling 64-bit insns
385           respectively.  In addition, altivec, any, htm, vsx, and spe add
386           capabilities to a previous or later CPU selection.  any will
387           disassemble any opcode known to binutils, but in cases where an
388           opcode has two different meanings or different arguments, you may
389           not see the disassembly you expect.  If you disassemble without
390           giving a CPU selection, a default will be chosen from information
391           gleaned by BFD from the object files headers, but the result again
392           may not be as you expect.
393
394           For MIPS, this option controls the printing of instruction mnemonic
395           names and register names in disassembled instructions.  Multiple
396           selections from the following may be specified as a comma separated
397           string, and invalid options are ignored:
398
399           "no-aliases"
400               Print the 'raw' instruction mnemonic instead of some pseudo
401               instruction mnemonic.  I.e., print 'daddu' or 'or' instead of
402               'move', 'sll' instead of 'nop', etc.
403
404           "msa"
405               Disassemble MSA instructions.
406
407           "virt"
408               Disassemble the virtualization ASE instructions.
409
410           "xpa"
411               Disassemble the eXtended Physical Address (XPA) ASE
412               instructions.
413
414           "gpr-names=ABI"
415               Print GPR (general-purpose register) names as appropriate for
416               the specified ABI.  By default, GPR names are selected
417               according to the ABI of the binary being disassembled.
418
419           "fpr-names=ABI"
420               Print FPR (floating-point register) names as appropriate for
421               the specified ABI.  By default, FPR numbers are printed rather
422               than names.
423
424           "cp0-names=ARCH"
425               Print CP0 (system control coprocessor; coprocessor 0) register
426               names as appropriate for the CPU or architecture specified by
427               ARCH.  By default, CP0 register names are selected according to
428               the architecture and CPU of the binary being disassembled.
429
430           "hwr-names=ARCH"
431               Print HWR (hardware register, used by the "rdhwr" instruction)
432               names as appropriate for the CPU or architecture specified by
433               ARCH.  By default, HWR names are selected according to the
434               architecture and CPU of the binary being disassembled.
435
436           "reg-names=ABI"
437               Print GPR and FPR names as appropriate for the selected ABI.
438
439           "reg-names=ARCH"
440               Print CPU-specific register names (CP0 register and HWR names)
441               as appropriate for the selected CPU or architecture.
442
443           For any of the options listed above, ABI or ARCH may be specified
444           as numeric to have numbers printed rather than names, for the
445           selected types of registers.  You can list the available values of
446           ABI and ARCH using the --help option.
447
448           For VAX, you can specify function entry addresses with -M
449           entry:0xf00ba.  You can use this multiple times to properly
450           disassemble VAX binary files that don't contain symbol tables (like
451           ROM dumps).  In these cases, the function entry mask would
452           otherwise be decoded as VAX instructions, which would probably lead
453           the rest of the function being wrongly disassembled.
454
455       -p
456       --private-headers
457           Print information that is specific to the object file format.  The
458           exact information printed depends upon the object file format.  For
459           some object file formats, no additional information is printed.
460
461       -P options
462       --private=options
463           Print information that is specific to the object file format.  The
464           argument options is a comma separated list that depends on the
465           format (the lists of options is displayed with the help).
466
467           For XCOFF, the available options are:
468
469           "header"
470           "aout"
471           "sections"
472           "syms"
473           "relocs"
474           "lineno,"
475           "loader"
476           "except"
477           "typchk"
478           "traceback"
479           "toc"
480           "ldinfo"
481
482           Not all object formats support this option.  In particular the ELF
483           format does not use it.
484
485       -r
486       --reloc
487           Print the relocation entries of the file.  If used with -d or -D,
488           the relocations are printed interspersed with the disassembly.
489
490       -R
491       --dynamic-reloc
492           Print the dynamic relocation entries of the file.  This is only
493           meaningful for dynamic objects, such as certain types of shared
494           libraries.  As for -r, if used with -d or -D, the relocations are
495           printed interspersed with the disassembly.
496
497       -s
498       --full-contents
499           Display the full contents of any sections requested.  By default
500           all non-empty sections are displayed.
501
502       -S
503       --source
504           Display source code intermixed with disassembly, if possible.
505           Implies -d.
506
507       --source-comment[=txt]
508           Like the -S option, but all source code lines are displayed with a
509           prefix of txt.  Typically txt will be a comment string which can be
510           used to distinguish the assembler code from the source code.  If
511           txt is not provided then a default string of "# " (hash followed by
512           a space), will be used.
513
514       --prefix=prefix
515           Specify prefix to add to the absolute paths when used with -S.
516
517       --prefix-strip=level
518           Indicate how many initial directory names to strip off the
519           hardwired absolute paths. It has no effect without --prefix=prefix.
520
521       --show-raw-insn
522           When disassembling instructions, print the instruction in hex as
523           well as in symbolic form.  This is the default except when
524           --prefix-addresses is used.
525
526       --no-show-raw-insn
527           When disassembling instructions, do not print the instruction
528           bytes.  This is the default when --prefix-addresses is used.
529
530       --insn-width=width
531           Display width bytes on a single line when disassembling
532           instructions.
533
534       --visualize-jumps[=color|=extended-color|=off]
535           Visualize jumps that stay inside a function by drawing ASCII art
536           between the start and target addresses.  The optional =color
537           argument adds color to the output using simple terminal colors.
538           Alternatively the =extended-color argument will add color using
539           8bit colors, but these might not work on all terminals.
540
541           If it is necessary to disable the visualize-jumps option after it
542           has previously been enabled then use visualize-jumps=off.
543
544       -W[lLiaprmfFsoORtUuTgAckK]
545       --dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links,=follow-links]
546           Displays the contents of the DWARF debug sections in the file, if
547           any are present.  Compressed debug sections are automatically
548           decompressed (temporarily) before they are displayed.  If one or
549           more of the optional letters or words follows the switch then only
550           those type(s) of data will be dumped.  The letters and words refer
551           to the following information:
552
553           "a"
554           "=abbrev"
555               Displays the contents of the .debug_abbrev section.
556
557           "A"
558           "=addr"
559               Displays the contents of the .debug_addr section.
560
561           "c"
562           "=cu_index"
563               Displays the contents of the .debug_cu_index and/or
564               .debug_tu_index sections.
565
566           "f"
567           "=frames"
568               Display the raw contents of a .debug_frame section.
569
570           "F"
571           "=frame-interp"
572               Display the interpreted contents of a .debug_frame section.
573
574           "g"
575           "=gdb_index"
576               Displays the contents of the .gdb_index and/or .debug_names
577               sections.
578
579           "i"
580           "=info"
581               Displays the contents of the .debug_info section.  Note: the
582               output from this option can also be restricted by the use of
583               the --dwarf-depth and --dwarf-start options.
584
585           "k"
586           "=links"
587               Displays the contents of the .gnu_debuglink, .gnu_debugaltlink
588               and .debug_sup sections, if any of them are present.  Also
589               displays any links to separate dwarf object files (dwo), if
590               they are specified by the DW_AT_GNU_dwo_name or DW_AT_dwo_name
591               attributes in the .debug_info section.
592
593           "K"
594           "=follow-links"
595               Display the contents of any selected debug sections that are
596               found in linked, separate debug info file(s).  This can result
597               in multiple versions of the same debug section being displayed
598               if it exists in more than one file.
599
600               In addition, when displaying DWARF attributes, if a form is
601               found that references the separate debug info file, then the
602               referenced contents will also be displayed.
603
604               Note - in some distributions this option is enabled by default.
605               It can be disabled via the N debug option.  The default can be
606               chosen when configuring the binutils via the
607               --enable-follow-debug-links=yes or
608               --enable-follow-debug-links=no options.  If these are not used
609               then the default is to enable the following of debug links.
610
611           "N"
612           "=no-follow-links"
613               Disables the following of links to separate debug info files.
614
615           "l"
616           "=rawline"
617               Displays the contents of the .debug_line section in a raw
618               format.
619
620           "L"
621           "=decodedline"
622               Displays the interpreted contents of the .debug_line section.
623
624           "m"
625           "=macro"
626               Displays the contents of the .debug_macro and/or .debug_macinfo
627               sections.
628
629           "o"
630           "=loc"
631               Displays the contents of the .debug_loc and/or .debug_loclists
632               sections.
633
634           "O"
635           "=str-offsets"
636               Displays the contents of the .debug_str_offsets section.
637
638           "p"
639           "=pubnames"
640               Displays the contents of the .debug_pubnames and/or
641               .debug_gnu_pubnames sections.
642
643           "r"
644           "=aranges"
645               Displays the contents of the .debug_aranges section.
646
647           "R"
648           "=Ranges"
649               Displays the contents of the .debug_ranges and/or
650               .debug_rnglists sections.
651
652           "s"
653           "=str"
654               Displays the contents of the .debug_str, .debug_line_str and/or
655               .debug_str_offsets sections.
656
657           "t"
658           "=pubtype"
659               Displays the contents of the .debug_pubtypes and/or
660               .debug_gnu_pubtypes sections.
661
662           "T"
663           "=trace_aranges"
664               Displays the contents of the .trace_aranges section.
665
666           "u"
667           "=trace_abbrev"
668               Displays the contents of the .trace_abbrev section.
669
670           "U"
671           "=trace_info"
672               Displays the contents of the .trace_info section.
673
674           Note: displaying the contents of .debug_static_funcs,
675           .debug_static_vars and debug_weaknames sections is not currently
676           supported.
677
678       --dwarf-depth=n
679           Limit the dump of the ".debug_info" section to n children.  This is
680           only useful with --debug-dump=info.  The default is to print all
681           DIEs; the special value 0 for n will also have this effect.
682
683           With a non-zero value for n, DIEs at or deeper than n levels will
684           not be printed.  The range for n is zero-based.
685
686       --dwarf-start=n
687           Print only DIEs beginning with the DIE numbered n.  This is only
688           useful with --debug-dump=info.
689
690           If specified, this option will suppress printing of any header
691           information and all DIEs before the DIE numbered n.  Only siblings
692           and children of the specified DIE will be printed.
693
694           This can be used in conjunction with --dwarf-depth.
695
696       --dwarf-check
697           Enable additional checks for consistency of Dwarf information.
698
699       --ctf=section
700           Display the contents of the specified CTF section.  CTF sections
701           themselves contain many subsections, all of which are displayed in
702           order.
703
704       --ctf-parent=section
705           Specify the name of another section from which the CTF dictionary
706           can inherit types.  (If none is specified, we assume the CTF
707           dictionary inherits types from the default-named member of the
708           archive contained within this section.)
709
710       -G
711       --stabs
712           Display the full contents of any sections requested.  Display the
713           contents of the .stab and .stab.index and .stab.excl sections from
714           an ELF file.  This is only useful on systems (such as Solaris 2.0)
715           in which ".stab" debugging symbol-table entries are carried in an
716           ELF section.  In most other file formats, debugging symbol-table
717           entries are interleaved with linkage symbols, and are visible in
718           the --syms output.
719
720       --start-address=address
721           Start displaying data at the specified address.  This affects the
722           output of the -d, -r and -s options.
723
724       --stop-address=address
725           Stop displaying data at the specified address.  This affects the
726           output of the -d, -r and -s options.
727
728       -t
729       --syms
730           Print the symbol table entries of the file.  This is similar to the
731           information provided by the nm program, although the display format
732           is different.  The format of the output depends upon the format of
733           the file being dumped, but there are two main types.  One looks
734           like this:
735
736                   [  4](sec  3)(fl 0x00)(ty   0)(scl   3) (nx 1) 0x00000000 .bss
737                   [  6](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 fred
738
739           where the number inside the square brackets is the number of the
740           entry in the symbol table, the sec number is the section number,
741           the fl value are the symbol's flag bits, the ty number is the
742           symbol's type, the scl number is the symbol's storage class and the
743           nx value is the number of auxiliary entries associated with the
744           symbol.  The last two fields are the symbol's value and its name.
745
746           The other common output format, usually seen with ELF based files,
747           looks like this:
748
749                   00000000 l    d  .bss   00000000 .bss
750                   00000000 g       .text  00000000 fred
751
752           Here the first number is the symbol's value (sometimes referred to
753           as its address).  The next field is actually a set of characters
754           and spaces indicating the flag bits that are set on the symbol.
755           These characters are described below.  Next is the section with
756           which the symbol is associated or *ABS* if the section is absolute
757           (ie not connected with any section), or *UND* if the section is
758           referenced in the file being dumped, but not defined there.
759
760           After the section name comes another field, a number, which for
761           common symbols is the alignment and for other symbol is the size.
762           Finally the symbol's name is displayed.
763
764           The flag characters are divided into 7 groups as follows:
765
766           "l"
767           "g"
768           "u"
769           "!" The symbol is a local (l), global (g), unique global (u),
770               neither global nor local (a space) or both global and local
771               (!).  A symbol can be neither local or global for a variety of
772               reasons, e.g., because it is used for debugging, but it is
773               probably an indication of a bug if it is ever both local and
774               global.  Unique global symbols are a GNU extension to the
775               standard set of ELF symbol bindings.  For such a symbol the
776               dynamic linker will make sure that in the entire process there
777               is just one symbol with this name and type in use.
778
779           "w" The symbol is weak (w) or strong (a space).
780
781           "C" The symbol denotes a constructor (C) or an ordinary symbol (a
782               space).
783
784           "W" The symbol is a warning (W) or a normal symbol (a space).  A
785               warning symbol's name is a message to be displayed if the
786               symbol following the warning symbol is ever referenced.
787
788           "I"
789           "i" The symbol is an indirect reference to another symbol (I), a
790               function to be evaluated during reloc processing (i) or a
791               normal symbol (a space).
792
793           "d"
794           "D" The symbol is a debugging symbol (d) or a dynamic symbol (D) or
795               a normal symbol (a space).
796
797           "F"
798           "f"
799           "O" The symbol is the name of a function (F) or a file (f) or an
800               object (O) or just a normal symbol (a space).
801
802       -T
803       --dynamic-syms
804           Print the dynamic symbol table entries of the file.  This is only
805           meaningful for dynamic objects, such as certain types of shared
806           libraries.  This is similar to the information provided by the nm
807           program when given the -D (--dynamic) option.
808
809           The output format is similar to that produced by the --syms option,
810           except that an extra field is inserted before the symbol's name,
811           giving the version information associated with the symbol.  If the
812           version is the default version to be used when resolving
813           unversioned references to the symbol then it's displayed as is,
814           otherwise it's put into parentheses.
815
816       --special-syms
817           When displaying symbols include those which the target considers to
818           be special in some way and which would not normally be of interest
819           to the user.
820
821       -V
822       --version
823           Print the version number of objdump and exit.
824
825       -x
826       --all-headers
827           Display all available header information, including the symbol
828           table and relocation entries.  Using -x is equivalent to specifying
829           all of -a -f -h -p -r -t.
830
831       -w
832       --wide
833           Format some lines for output devices that have more than 80
834           columns.  Also do not truncate symbol names when they are
835           displayed.
836
837       -z
838       --disassemble-zeroes
839           Normally the disassembly output will skip blocks of zeroes.  This
840           option directs the disassembler to disassemble those blocks, just
841           like any other data.
842
843       @file
844           Read command-line options from file.  The options read are inserted
845           in place of the original @file option.  If file does not exist, or
846           cannot be read, then the option will be treated literally, and not
847           removed.
848
849           Options in file are separated by whitespace.  A whitespace
850           character may be included in an option by surrounding the entire
851           option in either single or double quotes.  Any character (including
852           a backslash) may be included by prefixing the character to be
853           included with a backslash.  The file may itself contain additional
854           @file options; any such options will be processed recursively.
855

SEE ALSO

857       nm(1), readelf(1), and the Info entries for binutils.
858
860       Copyright (c) 1991-2021 Free Software Foundation, Inc.
861
862       Permission is granted to copy, distribute and/or modify this document
863       under the terms of the GNU Free Documentation License, Version 1.3 or
864       any later version published by the Free Software Foundation; with no
865       Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
866       Texts.  A copy of the license is included in the section entitled "GNU
867       Free Documentation License".
868
869
870
871binutils-2.37                     2021-09-16                        OBJDUMP(1)
Impressum