This is the mail archive of the binutils@sourceware.org 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: R_386_32 relocations with sym-value=0 ?


> The symbol is presumably undefined, and expected to come from the
> executable or another shared library.  You will have to look at the
> readelf -s output to see for sure.
> 
> I doubt this issue has anything to do with exception unwinding.  This
> symbol is for a virtual table, not anything to do with exceptions.
Yes, you're right, its undefined. After writing the last mail I realized
that this is of course completely logical because the symbol is defined
by the libsupc++, which is linked statically to the executable and
therefore undefined in the libstdc++.so.

However, as you also said, this wasn't the problem. I debugged the issue
a bit more detailed and finally saw whats really going on: The libsupc++
compares typeinfos by default by comparing the name-pointers. Since I
don't have merged typeinfos, this can't work, of course. Therefore I
defined __GXX_MERGED_TYPEINFO_NAMES and __GXX_TYPEINFO_EQUALITY_INLINE
to 0 (in the gcc-configuration) to force libsupc++ to use a strcmp
instead.
And well, it really works! Unbelievable! ;)

Thanks! Your hints helped me a lot.

Nils Asmussen


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