Intel 80386, version 1 (SYSV) vs Intel 80386, version 1 (GNU/Linux)
James Cloos
cloos@jhcloos.com
Fri Oct 1 21:42:00 GMT 2010
>>>>> "ILT" == Ian Lance Taylor <iant@google.com> writes:
ILT> However, to answer your question, the OS/ABI field will be set to
ILT> GNU/Linux if your program has any symbols whose type is STT_GNU_IFUNC.
ILT> This of course suggests that your problem is that you are building on a
ILT> system with a newer version of glibc than the system on which you want
ILT> to run the program. This doesn't work in general; glibc is backward
ILT> compatible but not forward compatible.
That fully explains both why it happens for this project and why the abi
on the box's own executables and libraries seemed to be a random mix of
the two abis.
What is the best way to determine exactly which symbols in use are so
tagged? I tried objdump, readelf, dumpelf and scanelf, but didn't see
references to the ST_TYPE.
-JimC
--
James Cloos <cloos@jhcloos.com> OpenPGP: 1024D/ED7DAEA6
More information about the Gcc-help
mailing list