Add a comment describing the difference between readelf and objdump.

This commit is contained in:
Nick Clifton 2003-11-26 11:49:10 +00:00
parent 526c61eee0
commit 9eb20dd876
3 changed files with 30 additions and 0 deletions

View file

@ -1,3 +1,10 @@
2003-11-26 Daniel Jacobowitz <drow@mvista.com>
Nick Clifton <nickc@redhat.com>
* readelf.c: Add a comment describing the difference between
readelf and objdump.
* doc/binutils.texi (readelf): Likewise.
2003-11-25 Danny Smith <dannysmith@users.sourceforge.net>
* doc/binutils.texi (dlltool): Document dlltool --temp-prefix

View file

@ -3129,6 +3129,11 @@ files. The options control what particular information to display.
@var{elffile}@dots{} are the object files to be examined. 32-bit and
64-bit ELF files are supported, as are archives containing ELF files.
This program performs a similar function to @command{objdump} but it
goes into more detail and it exists independently of the @sc{bfd}
library, so if there is a bug in @sc{bfd} then readelf will not be
affected.
@c man end
@c man begin OPTIONS readelf

View file

@ -21,7 +21,25 @@
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA. */
/* The difference between readelf and objdump:
Both programs are capabale of displaying the contents of ELF format files,
so why does the binutils project have two file dumpers ?
The reason is that objdump sees an ELF file through a BFD filter of the
world; if BFD has a bug where, say, it disagrees about a machine constant
in e_flags, then the odds are good that it will remain internally
consistent. The linker sees it the BFD way, objdump sees it the BFD way,
GAS sees it the BFD way. There was need for a tool to go find out what
the file actually says.
This is why the readelf program does not link against the BFD library - it
exists as an independent program to help verify the correct working of BFD.
There is also the case that readelf can provide more information about an
ELF file than is provided by objdump. In particular it can display DWARF
debugging information which (at the moment) objdump cannot. */
#include <assert.h>
#include <sys/types.h>
#include <sys/stat.h>