binutils: objdump
1
1 4 objdump
1 *********
1
1 objdump [-a|--archive-headers]
1 [-b BFDNAME|--target=BFDNAME]
1 [-C|--demangle[=STYLE] ]
1 [-d|--disassemble]
1 [-D|--disassemble-all]
1 [-z|--disassemble-zeroes]
1 [-EB|-EL|--endian={big | little }]
1 [-f|--file-headers]
1 [-F|--file-offsets]
1 [--file-start-context]
1 [-g|--debugging]
1 [-e|--debugging-tags]
1 [-h|--section-headers|--headers]
1 [-i|--info]
1 [-j SECTION|--section=SECTION]
1 [-l|--line-numbers]
1 [-S|--source]
1 [-m MACHINE|--architecture=MACHINE]
1 [-M OPTIONS|--disassembler-options=OPTIONS]
1 [-p|--private-headers]
1 [-P OPTIONS|--private=OPTIONS]
1 [-r|--reloc]
1 [-R|--dynamic-reloc]
1 [-s|--full-contents]
1 [-W[lLiaprmfFsoRtUuTgAckK]|
1 --dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links,=follow-links]
1 [-G|--stabs]
1 [-t|--syms]
1 [-T|--dynamic-syms]
1 [-x|--all-headers]
1 [-w|--wide]
1 [--start-address=ADDRESS]
1 [--stop-address=ADDRESS]
1 [--prefix-addresses]
1 [--[no-]show-raw-insn]
1 [--adjust-vma=OFFSET]
1 [--dwarf-depth=N]
1 [--dwarf-start=N]
1 [--special-syms]
1 [--prefix=PREFIX]
1 [--prefix-strip=LEVEL]
1 [--insn-width=WIDTH]
1 [-U METHOD] [--unicode=METHOD]
1 [-V|--version]
1 [-H|--help]
1 OBJFILE...
1
1 'objdump' displays information about one or more object files. The
1 options control what particular information to display. This
1 information is mostly useful to programmers who are working on the
1 compilation tools, as opposed to programmers who just want their program
1 to compile and work.
1
1 OBJFILE... are the object files to be examined. When you specify
1 archives, 'objdump' shows information on each of the member object
1 files.
1
1 The long and short forms of options, shown here as alternatives, are
1 equivalent. At least one option from the list
1 '-a,-d,-D,-e,-f,-g,-G,-h,-H,-p,-P,-r,-R,-s,-S,-t,-T,-V,-x' must be
1 given.
1
1 '-a'
1 '--archive-header'
1 If any of the OBJFILE files are archives, display the archive
1 header information (in a format similar to 'ls -l'). Besides the
1 information you could list with 'ar tv', 'objdump -a' shows the
1 object file format of each archive member.
1
1 '--adjust-vma=OFFSET'
1 When dumping information, first add OFFSET to all the section
1 addresses. This is useful if the section addresses do not
1 correspond to the symbol table, which can happen when putting
1 sections at particular addresses when using a format which can not
1 represent section addresses, such as a.out.
1
1 '-b BFDNAME'
1 '--target=BFDNAME'
1 Specify that the object-code format for the object files is
1 BFDNAME. This option may not be necessary; OBJDUMP can
1 automatically recognize many formats.
1
1 For example,
1 objdump -b oasys -m vax -h fu.o
1 displays summary information from the section headers ('-h') of
1 'fu.o', which is explicitly identified ('-m') as a VAX object file
1 in the format produced by Oasys compilers. You can list the
1 formats available with the '-i' option. ⇒Target Selection,
1 for more information.
1
1 '-C'
1 '--demangle[=STYLE]'
1 Decode ("demangle") low-level symbol names into user-level names.
1 Besides removing any initial underscore prepended by the system,
1 this makes C++ function names readable. Different compilers have
1 different mangling styles. The optional demangling style argument
1 can be used to choose an appropriate demangling style for your
1 compiler. ⇒c++filt, for more information on demangling.
1
1 '-g'
1 '--debugging'
1 Display debugging information. This attempts to parse STABS and
1 IEEE debugging format information stored in the file and print it
1 out using a C like syntax. If neither of these formats are found
1 this option falls back on the '-W' option to print any DWARF
1 information in the file.
1
1 '-e'
1 '--debugging-tags'
1 Like '-g', but the information is generated in a format compatible
1 with ctags tool.
1
1 '-d'
1 '--disassemble'
1 Display the assembler mnemonics for the machine instructions from
1 OBJFILE. This option only disassembles those sections which are
1 expected to contain instructions.
1
1 '-D'
1 '--disassemble-all'
1 Like '-d', but disassemble the contents of all sections, not just
1 those expected to contain instructions.
1
1 This option also has a subtle effect on the disassembly of
1 instructions in code sections. When option '-d' is in effect
1 objdump will assume that any symbols present in a code section
1 occur on the boundary between instructions and it will refuse to
1 disassemble across such a boundary. When option '-D' is in effect
1 however this assumption is supressed. This means that it is
1 possible for the output of '-d' and '-D' to differ if, for example,
1 data is stored in code sections.
1
1 If the target is an ARM architecture this switch also has the
1 effect of forcing the disassembler to decode pieces of data found
1 in code sections as if they were instructions.
1
1 '--prefix-addresses'
1 When disassembling, print the complete address on each line. This
1 is the older disassembly format.
1
1 '-EB'
1 '-EL'
1 '--endian={big|little}'
1 Specify the endianness of the object files. This only affects
1 disassembly. This can be useful when disassembling a file format
1 which does not describe endianness information, such as S-records.
1
1 '-f'
1 '--file-headers'
1 Display summary information from the overall header of each of the
1 OBJFILE files.
1
1 '-F'
1 '--file-offsets'
1 When disassembling sections, whenever a symbol is displayed, also
1 display the file offset of the region of data that is about to be
1 dumped. If zeroes are being skipped, then when disassembly
1 resumes, tell the user how many zeroes were skipped and the file
1 offset of the location from where the disassembly resumes. When
1 dumping sections, display the file offset of the location from
1 where the dump starts.
1
1 '--file-start-context'
1 Specify that when displaying interlisted source code/disassembly
1 (assumes '-S') from a file that has not yet been displayed, extend
1 the context to the start of the file.
1
1 '-h'
1 '--section-headers'
1 '--headers'
1 Display summary information from the section headers of the object
1 file.
1
1 File segments may be relocated to nonstandard addresses, for
1 example by using the '-Ttext', '-Tdata', or '-Tbss' options to
1 'ld'. However, some object file formats, such as a.out, do not
1 store the starting address of the file segments. In those
1 situations, although 'ld' relocates the sections correctly, using
1 'objdump -h' to list the file section headers cannot show the
1 correct addresses. Instead, it shows the usual addresses, which
1 are implicit for the target.
1
1 Note, in some cases it is possible for a section to have both the
1 READONLY and the NOREAD attributes set. In such cases the NOREAD
1 attribute takes precedence, but 'objdump' will report both since
1 the exact setting of the flag bits might be important.
1
1 '-H'
1 '--help'
1 Print a summary of the options to 'objdump' and exit.
1
1 '-i'
1 '--info'
1 Display a list showing all architectures and object formats
1 available for specification with '-b' or '-m'.
1
1 '-j NAME'
1 '--section=NAME'
1 Display information only for section NAME.
1
1 '-l'
1 '--line-numbers'
1 Label the display (using debugging information) with the filename
1 and source line numbers corresponding to the object code or relocs
1 shown. Only useful with '-d', '-D', or '-r'.
1
1 '-m MACHINE'
1 '--architecture=MACHINE'
1 Specify the architecture to use when disassembling object files.
1 This can be useful when disassembling object files which do not
1 describe architecture information, such as S-records. You can list
1 the available architectures with the '-i' option.
1
1 If the target is an ARM architecture then this switch has an
1 additional effect. It restricts the disassembly to only those
1 instructions supported by the architecture specified by MACHINE.
1 If it is necessary to use this switch because the input file does
1 not contain any architecture information, but it is also desired to
1 disassemble all the instructions use '-marm'.
1
1 '-M OPTIONS'
1 '--disassembler-options=OPTIONS'
1 Pass target specific information to the disassembler. Only
1 supported on some targets. If it is necessary to specify more than
1 one disassembler option then multiple '-M' options can be used or
1 can be placed together into a comma separated list.
1
1 For ARC, 'dsp' controls the printing of DSP instructions, 'spfp'
1 selects the printing of FPX single precision FP instructions,
1 'dpfp' selects the printing of FPX double precision FP
1 instructions, 'quarkse_em' selects the printing of special
1 QuarkSE-EM instructions, 'fpuda' selects the printing of double
1 precision assist instructions, 'fpus' selects the printing of FPU
1 single precision FP instructions, while 'fpud' selects the printing
1 of FPU souble precision FP instructions. Additionally, one can
1 choose to have all the immediates printed in hexadecimal using
1 'hex'. By default, the short immediates are printed using the
1 decimal representation, while the long immediate values are printed
1 as hexadecimal.
1
1 'cpu=...' allows to enforce a particular ISA when disassembling
1 instructions, overriding the '-m' value or whatever is in the ELF
1 file. This might be useful to select ARC EM or HS ISA, because
1 architecture is same for those and disassembler relies on private
1 ELF header data to decide if code is for EM or HS. This option
1 might be specified multiple times - only the latest value will be
1 used. Valid values are same as for the assembler '-mcpu=...'
1 option.
1
1 If the target is an ARM architecture then this switch can be used
1 to select which register name set is used during disassembler.
1 Specifying '-M reg-names-std' (the default) will select the
1 register names as used in ARM's instruction set documentation, but
1 with register 13 called 'sp', register 14 called 'lr' and register
1 15 called 'pc'. Specifying '-M reg-names-apcs' will select the
1 name set used by the ARM Procedure Call Standard, whilst specifying
1 '-M reg-names-raw' will just use 'r' followed by the register
1 number.
1
1 There are also two variants on the APCS register naming scheme
1 enabled by '-M reg-names-atpcs' and '-M reg-names-special-atpcs'
1 which use the ARM/Thumb Procedure Call Standard naming conventions.
1 (Either with the normal register names or the special register
1 names).
1
1 This option can also be used for ARM architectures to force the
1 disassembler to interpret all instructions as Thumb instructions by
1 using the switch '--disassembler-options=force-thumb'. This can be
1 useful when attempting to disassemble thumb code produced by other
1 compilers.
1
1 For the x86, some of the options duplicate functions of the '-m'
1 switch, but allow finer grained control. Multiple selections from
1 the following may be specified as a comma separated string.
1 'x86-64'
1 'i386'
1 'i8086'
1 Select disassembly for the given architecture.
1
1 'intel'
1 'att'
1 Select between intel syntax mode and AT&T syntax mode.
1
1 'amd64'
1 'intel64'
1 Select between AMD64 ISA and Intel64 ISA.
1
1 'intel-mnemonic'
1 'att-mnemonic'
1 Select between intel mnemonic mode and AT&T mnemonic mode.
1 Note: 'intel-mnemonic' implies 'intel' and 'att-mnemonic'
1 implies 'att'.
1
1 'addr64'
1 'addr32'
1 'addr16'
1 'data32'
1 'data16'
1 Specify the default address size and operand size. These four
1 options will be overridden if 'x86-64', 'i386' or 'i8086'
1 appear later in the option string.
1
1 'suffix'
1 When in AT&T mode, instructs the disassembler to print a
1 mnemonic suffix even when the suffix could be inferred by the
1 operands.
1
1 For PowerPC, the '-M' argument 'raw' selects disasssembly of
1 hardware insns rather than aliases. For example, you will see
1 'rlwinm' rather than 'clrlwi', and 'addi' rather than 'li'. All of
1 the '-m' arguments for 'gas' that select a CPU are supported.
1 These are: '403', '405', '440', '464', '476', '601', '603', '604',
1 '620', '7400', '7410', '7450', '7455', '750cl', '821', '850',
1 '860', 'a2', 'booke', 'booke32', 'cell', 'com', 'e200z4', 'e300',
1 'e500', 'e500mc', 'e500mc64', 'e500x2', 'e5500', 'e6500', 'efs',
1 'power4', 'power5', 'power6', 'power7', 'power8', 'power9', 'ppc',
1 'ppc32', 'ppc64', 'ppc64bridge', 'ppcps', 'pwr', 'pwr2', 'pwr4',
1 'pwr5', 'pwr5x', 'pwr6', 'pwr7', 'pwr8', 'pwr9', 'pwrx', 'titan',
1 and 'vle'. '32' and '64' modify the default or a prior CPU
1 selection, disabling and enabling 64-bit insns respectively. In
1 addition, 'altivec', 'any', 'htm', 'vsx', and 'spe' add
1 capabilities to a previous _or later_ CPU selection. 'any' will
1 disassemble any opcode known to binutils, but in cases where an
1 opcode has two different meanings or different arguments, you may
1 not see the disassembly you expect. If you disassemble without
1 giving a CPU selection, a default will be chosen from information
1 gleaned by BFD from the object files headers, but the result again
1 may not be as you expect.
1
1 For MIPS, this option controls the printing of instruction mnemonic
1 names and register names in disassembled instructions. Multiple
1 selections from the following may be specified as a comma separated
1 string, and invalid options are ignored:
1
1 'no-aliases'
1 Print the 'raw' instruction mnemonic instead of some pseudo
1 instruction mnemonic. I.e., print 'daddu' or 'or' instead of
1 'move', 'sll' instead of 'nop', etc.
1
1 'msa'
1 Disassemble MSA instructions.
1
1 'virt'
1 Disassemble the virtualization ASE instructions.
1
1 'xpa'
1 Disassemble the eXtended Physical Address (XPA) ASE
1 instructions.
1
1 'gpr-names=ABI'
1 Print GPR (general-purpose register) names as appropriate for
1 the specified ABI. By default, GPR names are selected
1 according to the ABI of the binary being disassembled.
1
1 'fpr-names=ABI'
1 Print FPR (floating-point register) names as appropriate for
1 the specified ABI. By default, FPR numbers are printed rather
1 than names.
1
1 'cp0-names=ARCH'
1 Print CP0 (system control coprocessor; coprocessor 0) register
1 names as appropriate for the CPU or architecture specified by
1 ARCH. By default, CP0 register names are selected according
1 to the architecture and CPU of the binary being disassembled.
1
1 'hwr-names=ARCH'
1 Print HWR (hardware register, used by the 'rdhwr' instruction)
1 names as appropriate for the CPU or architecture specified by
1 ARCH. By default, HWR names are selected according to the
1 architecture and CPU of the binary being disassembled.
1
1 'reg-names=ABI'
1 Print GPR and FPR names as appropriate for the selected ABI.
1
1 'reg-names=ARCH'
1 Print CPU-specific register names (CP0 register and HWR names)
1 as appropriate for the selected CPU or architecture.
1
1 For any of the options listed above, ABI or ARCH may be specified
1 as 'numeric' to have numbers printed rather than names, for the
1 selected types of registers. You can list the available values of
1 ABI and ARCH using the '--help' option.
1
1 For VAX, you can specify function entry addresses with '-M
1 entry:0xf00ba'. You can use this multiple times to properly
1 disassemble VAX binary files that don't contain symbol tables (like
1 ROM dumps). In these cases, the function entry mask would
1 otherwise be decoded as VAX instructions, which would probably lead
1 the rest of the function being wrongly disassembled.
1
1 '-p'
1 '--private-headers'
1 Print information that is specific to the object file format. The
1 exact information printed depends upon the object file format. For
1 some object file formats, no additional information is printed.
1
1 '-P OPTIONS'
1 '--private=OPTIONS'
1 Print information that is specific to the object file format. The
1 argument OPTIONS is a comma separated list that depends on the
1 format (the lists of options is displayed with the help).
1
1 For XCOFF, the available options are:
1 'header'
1 'aout'
1 'sections'
1 'syms'
1 'relocs'
1 'lineno,'
1 'loader'
1 'except'
1 'typchk'
1 'traceback'
1 'toc'
1 'ldinfo'
1
1 Not all object formats support this option. In particular the ELF
1 format does not use it.
1
1 '-r'
1 '--reloc'
1 Print the relocation entries of the file. If used with '-d' or
1 '-D', the relocations are printed interspersed with the
1 disassembly.
1
1 '-R'
1 '--dynamic-reloc'
1 Print the dynamic relocation entries of the file. This is only
1 meaningful for dynamic objects, such as certain types of shared
1 libraries. As for '-r', if used with '-d' or '-D', the relocations
1 are printed interspersed with the disassembly.
1
1 '-s'
1 '--full-contents'
1 Display the full contents of any sections requested. By default
1 all non-empty sections are displayed.
1
1 '-S'
1 '--source'
1 Display source code intermixed with disassembly, if possible.
1 Implies '-d'.
1
1 '--prefix=PREFIX'
1 Specify PREFIX to add to the absolute paths when used with '-S'.
1
1 '--prefix-strip=LEVEL'
1 Indicate how many initial directory names to strip off the
1 hardwired absolute paths. It has no effect without
1 '--prefix='PREFIX.
1
1 '--show-raw-insn'
1 When disassembling instructions, print the instruction in hex as
1 well as in symbolic form. This is the default except when
1 '--prefix-addresses' is used.
1
1 '--no-show-raw-insn'
1 When disassembling instructions, do not print the instruction
1 bytes. This is the default when '--prefix-addresses' is used.
1
1 '--insn-width=WIDTH'
1 Display WIDTH bytes on a single line when disassembling
1 instructions.
1
1 '-W[lLiaprmfFsoRtUuTgAckK]'
1 '--dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links,=follow-links]'
1
1 Displays the contents of the DWARF debug sections in the file, if
1 any are present. Compressed debug sections are automatically
1 decompressed (temporarily) before they are displayed. If one or
1 more of the optional letters or words follows the switch then only
1 those type(s) of data will be dumped. The letters and words refer
1 to the following information:
1
1 'a'
1 '=abbrev'
1 Displays the contents of the '.debug_abbrev' section.
1
1 'A'
1 '=addr'
1 Displays the contents of the '.debug_addr' section.
1
1 'c'
1 '=cu_index'
1 Displays the contents of the '.debug_cu_index' and/or
1 '.debug_tu_index' sections.
1
1 'f'
1 '=frames'
1 Display the raw contents of a '.debug_frame' section.
1
1 'F'
1 '=frame-interp'
1 Display the interpreted contents of a '.debug_frame' section.
1
1 'g'
1 '=gdb_index'
1 Displays the contents of the '.gdb_index' and/or
1 '.debug_names' sections.
1
1 'i'
1 '=info'
1 Displays the contents of the '.debug_info' section. Note: the
1 output from this option can also be restricted by the use of
1 the '--dwarf-depth' and '--dwarf-start' options.
1
1 'k'
1 '=links'
1 Displays the contents of the '.gnu_debuglink' and/or
1 '.gnu_debugaltlink' sections. Also displays the link to a
1 separate dwarf object file (dwo), if one is specified by the
1 DW_AT_GNU_dwo_name or DW_AT_dwo_name attributes in the
1 '.debug_info' section.
1
1 'K'
1 '=follow-links'
1 Display the contents of any selected debug sections that are
1 found in a linked, separate debug info file. This can result
1 in multiple versions of the same debug section being displayed
1 if both the main file and the separate debug info file contain
1 sections with the same name.
1
1 In addition, when displaying DWARF attributes, if a form is
1 found that references the separate debug info file, then the
1 referenced contents will also be displayed.
1
1 'l'
1 '=rawline'
1 Displays the contents of the '.debug_line' section in a raw
1 format.
1
1 'L'
1 '=decodedline'
1 Displays the interpreted contents of the '.debug_line'
1 section.
1
1 'm'
1 '=macro'
1 Displays the contents of the '.debug_macro' and/or
1 '.debug_macinfo' sections.
1
1 'o'
1 '=loc'
1 Displays the contents of the '.debug_loc' and/or
1 '.debug_loclists' sections.
1
1 'p'
1 '=pubnames'
1 Displays the contents of the '.debug_pubnames' and/or
1 '.debug_gnu_pubnames' sections.
1
1 'r'
1 '=aranges'
1 Displays the contents of the '.debug_aranges' section.
1
1 'R'
1 '=Ranges'
1 Displays the contents of the '.debug_ranges' and/or
1 '.debug_rnglists' sections.
1
1 's'
1 '=str'
1 Displays the contents of the '.debug_str', '.debug_line_str'
1 and/or '.debug_str_offsets' sections.
1
1 't'
1 '=pubtype'
1 Displays the contents of the '.debug_pubtypes' and/or
1 '.debug_gnu_pubtypes' sections.
1
1 'T'
1 '=trace_aranges'
1 Displays the contents of the '.trace_aranges' section.
1
1 'u'
1 '=trace_abbrev'
1 Displays the contents of the '.trace_abbrev' section.
1
1 'U'
1 '=trace_info'
1 Displays the contents of the '.trace_info' section.
1
1 Note: displaying the contents of '.debug_static_funcs',
1 '.debug_static_vars' and 'debug_weaknames' sections is not
1 currently supported.
1
1 '--dwarf-depth=N'
1 Limit the dump of the '.debug_info' section to N children. This is
1 only useful with '--debug-dump=info'. The default is to print all
1 DIEs; the special value 0 for N will also have this effect.
1
1 With a non-zero value for N, DIEs at or deeper than N levels will
1 not be printed. The range for N is zero-based.
1
1 '--dwarf-start=N'
1 Print only DIEs beginning with the DIE numbered N. This is only
1 useful with '--debug-dump=info'.
1
1 If specified, this option will suppress printing of any header
1 information and all DIEs before the DIE numbered N. Only siblings
1 and children of the specified DIE will be printed.
1
1 This can be used in conjunction with '--dwarf-depth'.
1
1 '--dwarf-check'
1 Enable additional checks for consistency of Dwarf information.
1
1 '-G'
1 '--stabs'
1 Display the full contents of any sections requested. Display the
1 contents of the .stab and .stab.index and .stab.excl sections from
1 an ELF file. This is only useful on systems (such as Solaris 2.0)
1 in which '.stab' debugging symbol-table entries are carried in an
1 ELF section. In most other file formats, debugging symbol-table
1 entries are interleaved with linkage symbols, and are visible in
1 the '--syms' output.
1
1 '--start-address=ADDRESS'
1 Start displaying data at the specified address. This affects the
1 output of the '-d', '-r' and '-s' options.
1
1 '--stop-address=ADDRESS'
1 Stop displaying data at the specified address. This affects the
1 output of the '-d', '-r' and '-s' options.
1
1 '-t'
1 '--syms'
1 Print the symbol table entries of the file. This is similar to the
1 information provided by the 'nm' program, although the display
1 format is different. The format of the output depends upon the
1 format of the file being dumped, but there are two main types. One
1 looks like this:
1
1 [ 4](sec 3)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x00000000 .bss
1 [ 6](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 fred
1
1 where the number inside the square brackets is the number of the
1 entry in the symbol table, the SEC number is the section number,
1 the FL value are the symbol's flag bits, the TY number is the
1 symbol's type, the SCL number is the symbol's storage class and the
1 NX value is the number of auxilary entries associated with the
1 symbol. The last two fields are the symbol's value and its name.
1
1 The other common output format, usually seen with ELF based files,
1 looks like this:
1
1 00000000 l d .bss 00000000 .bss
1 00000000 g .text 00000000 fred
1
1 Here the first number is the symbol's value (sometimes refered to
1 as its address). The next field is actually a set of characters
1 and spaces indicating the flag bits that are set on the symbol.
1 These characters are described below. Next is the section with
1 which the symbol is associated or _*ABS*_ if the section is
1 absolute (ie not connected with any section), or _*UND*_ if the
1 section is referenced in the file being dumped, but not defined
1 there.
1
1 After the section name comes another field, a number, which for
1 common symbols is the alignment and for other symbol is the size.
1 Finally the symbol's name is displayed.
1
1 The flag characters are divided into 7 groups as follows:
1 'l'
1 'g'
1 'u'
1 '!'
1 The symbol is a local (l), global (g), unique global (u),
1 neither global nor local (a space) or both global and local
1 (!). A symbol can be neither local or global for a variety of
1 reasons, e.g., because it is used for debugging, but it is
1 probably an indication of a bug if it is ever both local and
1 global. Unique global symbols are a GNU extension to the
1 standard set of ELF symbol bindings. For such a symbol the
1 dynamic linker will make sure that in the entire process there
1 is just one symbol with this name and type in use.
1
1 'w'
1 The symbol is weak (w) or strong (a space).
1
1 'C'
1 The symbol denotes a constructor (C) or an ordinary symbol (a
1 space).
1
1 'W'
1 The symbol is a warning (W) or a normal symbol (a space). A
1 warning symbol's name is a message to be displayed if the
1 symbol following the warning symbol is ever referenced.
1
1 'I'
1 'i'
1 The symbol is an indirect reference to another symbol (I), a
1 function to be evaluated during reloc processing (i) or a
1 normal symbol (a space).
1
1 'd'
1 'D'
1 The symbol is a debugging symbol (d) or a dynamic symbol (D)
1 or a normal symbol (a space).
1
1 'F'
1 'f'
1 'O'
1 The symbol is the name of a function (F) or a file (f) or an
1 object (O) or just a normal symbol (a space).
1
1 '-T'
1 '--dynamic-syms'
1 Print the dynamic symbol table entries of the file. This is only
1 meaningful for dynamic objects, such as certain types of shared
1 libraries. This is similar to the information provided by the 'nm'
1 program when given the '-D' ('--dynamic') option.
1
1 The output format is similar to that produced by the '--syms'
1 option, except that an extra field is inserted before the symbol's
1 name, giving the version information associated with the symbol.
1 If the version is the default version to be used when resolving
1 unversioned references to the symbol then it's displayed as is,
1 otherwise it's put into parentheses.
1
1 '--special-syms'
1 When displaying symbols include those which the target considers to
1 be special in some way and which would not normally be of interest
1 to the user.
1
1 '-U [D|I|L|E|X|H]'
1 '--unicode=[DEFAULT|INVALID|LOCALE|ESCAPE|HEX|HIGHLIGHT]'
1 Controls the display of UTF-8 encoded mulibyte characters in
1 strings. The default ('--unicode=default') is to give them no
1 special treatment. The '--unicode=locale' option displays the
1 sequence in the current locale, which may or may not support them.
1 The options '--unicode=hex' and '--unicode=invalid' display them as
1 hex byte sequences enclosed by either angle brackets or curly
1 braces.
1
1 The '--unicode=escape' option displays them as escape sequences
1 (\UXXXX) and the '--unicode=highlight' option displays them as
1 escape sequences highlighted in red (if supported by the output
1 device). The colouring is intended to draw attention to the
1 presence of unicode sequences where they might not be expected.
1
1 '-V'
1 '--version'
1 Print the version number of 'objdump' and exit.
1
1 '-x'
1 '--all-headers'
1 Display all available header information, including the symbol
1 table and relocation entries. Using '-x' is equivalent to
1 specifying all of '-a -f -h -p -r -t'.
1
1 '-w'
1 '--wide'
1 Format some lines for output devices that have more than 80
1 columns. Also do not truncate symbol names when they are
1 displayed.
1
1 '-z'
1 '--disassemble-zeroes'
1 Normally the disassembly output will skip blocks of zeroes. This
1 option directs the disassembler to disassemble those blocks, just
1 like any other data.
1