This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: objdump: circular debug information error message //<undefined> types in output


Hi Roul,

> What I also found is that using the same version of binutils on the
> same executable but on a different machine ... there are no warnings
> about circular debug info given and the <undefined> entries are
> changed into the type I do expect.
>
> Question: What did I wrong? What can I do to find out?

If the same version of binutils works on one machine but not another -
and the two machines had different operating systems - then it is
almost certainly a bug in binutils.  (It is probably related to the
memory returned by malloc().  Under some OS's the memory is zero'ed
before hand on others it is not).  If the two machines were basically
identical - ie running the same OS and with the same versions of all
the software packages installed - then it is most likely to be a
hardware bug on the failing machine - perhaps a damaged memory module.

Things to try:

  * Download the latest binutils sources from the CVS repository or
    one of the daily snapshots, build yourself a new version of
    objdump and see if the problem still exists.

  * If your OS provides a debugging memory allocator then try using
    that.  For example under Linux you can often define an environment
    variable called MALLOC_CHECK_ to enable a special, paranoid
    version of malloc to be used.

  * Create a *small* binary that shows the problem and post it to the
    list along with precise instructions on how to make the bug
    appear.

  * Debug the problem yourself.  You have access to the sources, you
    can add printf statements, run the program under a debugger, etc.
    
>> Am I right if I guess the local objdump still uses the libbfd from
>> the installed 2.11 ?

It depends upon whether you built a version of objdump that uses
shared libraries.  If it does then it will use the system installed
version of libbfd (ie 2.11).  If you have built a static version of
objdump then it will use the version of libbfd built into it (ie
2.14).

Cheers
        Nick
        


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]