Use of readelf -D option

David Arnold david@mantara.com
Sun Apr 15 04:59:00 GMT 2007


-->"Jim" == Jim Wilson <wilson@specifix.com> writes:
  Jim> On Wed, 2007-04-11 at 11:10 +1000, David Arnold wrote:

  >> # readelf -sD lib/.libs/libelvin.so.4.1.9 Dynamic symbol
  >> information is not available for displaying symbols.

  Jim> Just taking a quick look at the FSF readelf sources, it appears
  Jim> that you will get this message if there is no .dynamic section,
  Jim> or if DT_HASH is missing in the dynamic section.  That implies
  Jim> that either you don't have a shared library, or it is corrupted.

am i correct in remembering that on x86_64 and with recent binutils,
there's only a DT_GNU_HASH?

  Jim> readelf -d will show the .dynamic section if there is one.  There
  Jim> should be a symbol HASH inside it.

in this case (RHEL5, binutils 2.17.50.0.6-2.el5 20061020), there's only
a GNU_HASH (as well as the usual NEEDED, INIT, FINI, etc)

  Jim> You can try checking to see if an FSF binutils release works.  I
  Jim> don't have access to RHEL5, so I can't comment further on that.

  Jim> If this doesn't help, then we will likely need a testcase that we
  Jim> can use to reproduce the problem.  Or you could try debugging
  Jim> readelf to see what is going on.

it looks like i will need to gather some more information, but possibly
the check that the .dynamic contains a DT_HASH should also accept a
DT_GNU_HASH?

thanks for your help Jim,




d



More information about the Binutils mailing list