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               [-U method] [--unicode=method]
61               [-V|--version]
62               [-H|--help]
63               objfile...
64

DESCRIPTION

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

OPTIONS

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

SEE ALSO

881       nm(1), readelf(1), and the Info entries for binutils.
882
884       Copyright (c) 1991-2022 Free Software Foundation, Inc.
885
886       Permission is granted to copy, distribute and/or modify this document
887       under the terms of the GNU Free Documentation License, Version 1.3 or
888       any later version published by the Free Software Foundation; with no
889       Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
890       Texts.  A copy of the license is included in the section entitled "GNU
891       Free Documentation License".
892
893
894
895binutils-2.38                     2022-07-20                        OBJDUMP(1)
Impressum