binutils, the GNU binary utilities, include ar, nm,
objcopy, objdump, ranlib,
size, strings, and strip.
For targets that use the ELF file format, there is also
a tool called readelf.
There are three binary utilities, addr2line,
windres, and dlltool, that are for use with
Cygwin, the porting layer application for Win32 development.
The most important of the binary utilities are
objcopy and objdump.
objcopy is a tool to convert object
and executable files.
It can add and remove sections and symbols, but the most commonly
used feature is its ability to change the file format.
For example, it can convert an ELF or COFF format executable
into an S-record or Intel I-Hex format file.
These two formats are often used in building ROM images for
standalone and embedded systems.
For more information, refer to the
objcopy Utility section in
Using binutils, the Gnu Binary Utilities.
objdump is a tool to display information
about the contents of an object or executable file.
It can display symbol tables and section headers and it can also
act as a disassembler.
Objdump also knows about archives and libraries
and can be used to display information on all of the object files
inside them.
For more information, refer to the
objdump Utility section in
Using binutils, the Gnu Binary Utilities.
A few of the more useful options for
objdump include: -h (to display section headers),
-t (to display symbols),
-p (to display private header information) and
-d for assembler (to display a disassembly).
-d normally only disassembles sections that are expected to contain instructions.
To disassemble all sections, use -D instead.
The option
--prefix-addresses can be used to print a complete
address on each line of the disassembler's output.