Objdump

COMMANDS¶

$ objdump -f assert assert: file format elf64-x86-64 architecture: i386:x86-64, flags 0x00000112: EXECP, HASSYMS, DPAGED start address 0x400620. So we see that the file header was produced in the output. Display information related to all the sections using -s option. An object file may consist of various sections. Dump an object to memory or save to file for later use. OutputVar:= ObjDump (Object, Compress, Password) Function Example: size:= ObjDump(obj, var) Parameters OutputVar. The name of the variable in which to store the size of dumped object. The object to be dumped to memory. Compress (optional).

At least one of the following commands are required, and some commands can becombined with other commands:

-a, --archive-headers

Display the information contained within an archive’s headers.

ObjDump is a very small framework that extracts the internals from any Java object and dumps them to a String. The String can then be used in whatever way needed. Visit the sourceforge project area. Given two classes: class TSomeClass public int fInt = 0. Use the objdump binutil which displays information from object files to dump the disassembled code from a ELF file to a.s file. Mb-objdump -D output.S.

-d, --disassemble

Disassemble all text sections found in the input files.

-D, --disassemble-all

Disassemble all sections found in the input files.

--disassemble-functions=<symbol1[,symbol2,...]>

Disassemble only the specified symbols. Takes demangled symbol names when--demangle is specified, otherwise takes mangled symbol names.Implies --disassemble.

Objdump
--dwarf=<value>

Dump the specified DWARF debug sections. The supported values are:

frames - .debug_frame

-f, --file-headers

Display the contents of the overall file header.

--fault-map-section

Display the content of the fault map section.

-h, --headers, --section-headers

Display summaries of the headers for each section.

--help

Display usage information and exit. Does not stack with other commands.

-p, --private-headers

Display format-specific file headers.

-r, --reloc

Display the relocation entries in the file.

-R, --dynamic-reloc

Display the dynamic relocation entries in the file.

--raw-clang-ast

Dump the raw binary contents of the clang AST section.

-s, --full-contents

Display the contents of each section.

-t, --syms

Display the symbol table.

-u, --unwind-info

Display the unwind info of the input(s).

--version

Display the version of this program. Does not stack with other commands.

-x, --all-headers

Display all available header information. Equivalent to specifying--archive-headers, --file-headers,--private-headers, --reloc, --section-headers,and --syms.

[ < ][ > ][ << ][ Up ][ >> ][Top][Contents][Index][ ? ]

objdump displays information about one or more object files.The options control what particular information to display. Thisinformation is mostly useful to programmers who are working on thecompilation tools, as opposed to programmers who just want theirprogram to compile and work.

objfile... are the object files to be examined. When youspecify archives, objdump shows information on each of the memberobject files.

The long and short forms of options, shown here as alternatives, areequivalent. At least one option from the list`-a,-d,-D,-f,-g,-G,-h,-H,-p,-r,-R,-S,-t,-T,-V,-x' must be given.

-a
--archive-header
If any of the objfile files are archives, display the archiveheader information (in a format similar to `ls -l'). Besides theinformation you could list with `ar tv', `objdump -a' showsthe object file format of each archive member.
--adjust-vma=offset
When dumping information, first add offset to all the sectionaddresses. This is useful if the section addresses do not correspond tothe symbol table, which can happen when putting sections at particularaddresses when using a format which can not represent section addresses,such as a.out.
-b bfdname
--target=bfdname
Specify that the object-code format for the object files isbfdname. This option may not be necessary; objdump canautomatically recognize many formats.

For example,displays summary information from the section headers (`-h') of`fu.o', which is explicitly identified (`-m') as a VAX objectfile in the format produced by Oasys compilers. You can list theformats available with the `-i' option.See section 15.1 Target Selection, for more information.

-C
--demangle[=style]
Decode (demangle) low-level symbol names into user-level names.Besides removing any initial underscore prepended by the system, thismakes C++ function names readable. Different compilers have differentmangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler. See section 9. c++filt, for more information on demangling.
-G
--debugging
Display debugging information. This attempts to parse debugginginformation stored in the file and print it out using a C like syntax.Only certain types of debugging information have been implemented.
-d
--disassemble
Display the assembler mnemonics for the machine instructions fromobjfile. This option only disassembles those sections which areexpected to contain instructions.
-D
--disassemble-all
Like `-d', but disassemble the contents of all sections, not justthose expected to contain instructions.
--prefix-addresses
When disassembling, print the complete address on each line. This isthe older disassembly format.
--disassemble-zeroes
Normally the disassembly output will skip blocks of zeroes. Thisoption directs the disassembler to disassemble those blocks, just likeany other data.
-EB
-EL
--endian={big|little}
Specify the endianness of the object files. This only affectsdisassembly. This can be useful when disassembling a file format whichdoes not describe endianness information, such as S-records.
-f
--file-header
Display summary information from the overall header ofeach of the objfile files.
--file-start-context
Specify that when displaying interlisted source code/disassembly(assumes `-S') from a file that has not yet been displayed, extend thecontext to the start of the file.
-h
--section-header
--header
Display summary information from the section headers of theobject file.

File segments may be relocated to nonstandard addresses, for example byusing the `-Ttext', `-Tdata', or `-Tbss' options told. However, some object file formats, such as a.out, do notstore the starting address of the file segments. In those situations,although ld relocates the sections correctly, using `objdump-h' to list the file section headers cannot show the correct addresses.Instead, it shows the usual addresses, which are implicit for thetarget.

--help
Print a summary of the options to objdump and exit.
-i
--info
Display a list showing all architectures and object formats availablefor specification with `-b' or `-m'.
-j name
--section=name
Display information only for section name.
-l
--line-numbers

Objdump Disassemble Function

Label the display (using debugging information) with the filename andsource line numbers corresponding to the object code or relocs shown.Only useful with `-d', `-D', or `-r'.
-m machine
--architecture=machine
Specify the architecture to use when disassembling object files. Thiscan be useful when disassembling object files which do not describearchitecture information, such as S-records. You can list the availablearchitectures with the `-i' option.
-M options
--disassembler-options=options
Pass target specific information to the disassembler. Only supported onsome targets.

If the target is an ARM architecture then this switch can be used toselect which register name set is used during disassembler. Specifying`-M reg-name-std' (the default) will select the register names asused in ARM's instruction set documentation, but with register 13 called'sp', register 14 called 'lr' and register 15 called 'pc'. Specifying`-M reg-names-apcs' will select the name set used by the ARMProcedure Call Standard, whilst specifying `-M reg-names-raw' willjust use `r' followed by the register number.

There are also two variants on the APCS register naming scheme enabledby `-M reg-names-atpcs' and `-M reg-names-special-atpcs' whichuse the ARM/Thumb Procedure Call Standard naming conventions. (Eitherwith the normal register name or the special register names).

This option can also be used for ARM architectures to force thedisassembler to interpret all instructions as Thumb instructions byusing the switch `--disassembler-options=force-thumb'. This can beuseful when attempting to disassemble thumb code produced by othercompilers.

For the x86, some of the options duplicate functions of the `-m'switch, but allow finer grained control. Multiple selections from thefollowing may be specified as a comma separated string.`x86-64', `i386' and `i8086' select disassembly forthe given architecture. `intel' and `att' select betweenintel syntax mode and AT&T syntax mode. `addr32',`addr16', `data32' and `data16' specify the defaultaddress size and operand size. These four options will be overridden if`x86-64', `i386' or `i8086' appear later in theoption string. Lastly, `suffix', when in AT&T mode,instructs the dissassembler to print a mnemonic suffix even when thesuffix could be inferred by the operands.

For PPC, `booke', `booke32' and `booke64' selectdisassembly of BookE instructions. `32' and `64' selectPowerPC and PowerPC64 disassembly, respectively.

-p
--private-headers
Print information that is specific to the object file format. The exactinformation printed depends upon the object file format. For someobject file formats, no additional information is printed.
-r
--reloc
Print the relocation entries of the file. If used with `-d' or`-D', the relocations are printed interspersed with thedisassembly.
-R
--dynamic-reloc
Print the dynamic relocation entries of the file. This is onlymeaningful for dynamic objects, such as certain types of sharedlibraries.
-s
--full-contents
Display the full contents of any sections requested.
-S
--source
Display source code intermixed with disassembly, if possible. Implies`-d'.
--show-raw-insn
When disassembling instructions, print the instruction in hex as well asin symbolic form. This is the default except when`--prefix-addresses' is used.

Objdump Output

--no-show-raw-insn
When disassembling instructions, do not print the instruction bytes.This is the default when `--prefix-addresses' is used.
-G
--stabs
Display the full contents of any sections requested. Display thecontents of the .stab and .stab.index and .stab.excl sections from anELF file. This is only useful on systems (such as Solaris 2.0) in which.stab debugging symbol-table entries are carried in an ELFsection. In most other file formats, debugging symbol-table entries areinterleaved with linkage symbols, and are visible in the `--syms'output.For more information on stabs symbols, see section `Stabs Overview' in The 'stabs' debug format.
--start-address=address
Start displaying data at the specified address. This affects the outputof the `-d', `-r' and `-s' options.
--stop-address=address
Stop displaying data at the specified address. This affects the outputof the `-d', `-r' and `-s' options.
-t
--syms

Objdump Linux

Print the symbol table entries of the file.This is similar to the information provided by the `nm' program.
-T
--dynamic-syms
Print the dynamic symbol table entries of the file. This is onlymeaningful for dynamic objects, such as certain types of sharedlibraries. This is similar to the information provided by the `nm'program when given the `-D' (`--dynamic') option.
--version
Print the version number of objdump and exit.
-x
--all-header
Display all available header information, including the symbol table andrelocation entries. Using `-x' is equivalent to specifying all of`-a -f -h -r -t'.
-w
--wide
Format some lines for output devices that have more than 80 columns.Also do not truncate symbol names when they are displayed.

Objdump Command

[ < ][ > ][ << ][ Up ][ >> ][Top][Contents][Index][ ? ]

Objdump For Windows


This document was generatedon May 3, 2002using texi2html