This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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: libgo patch committed: Update to current version of Go library


On Thu, Feb 7, 2013 at 2:26 AM, Uros Bizjak <ubizjak@gmail.com> wrote:
>
> Thanks, I have tested it on CentOS 5.9. However, for some reason, I
> got unrelated linker errors that prevents further testing:
>
>                 === libgo tests ===
>
> ./a.out: error while loading shared libraries:
> /home/uros/gcc-build/x86_64-unknown-linux-gnu/libgo/.libs/libgo.so.3:
> ELF file OS ABI invalid

This is not, of course, related to Go.

It looks like libgo.so.3 and libatomic.so.1 got created with the
EI_OSABI field set to ELFOSABI_GNU, and it looks like your kernel is
too old and does not know about that.  I assume that you are using a
new version of the binutils, not the one that comes with the system.
Are you using GNU ld or gold?  In general the linker will set EI_OSABI
to ELFOSABI_GNU if it sees a STB_GNU_UNIQUE symbol or a STT_GNU_IFUNC
symbol.  As far as I know neither libgo nor libatomic have either type
of symbol.  So I'm not sure where this is coming from.

If you start again and configure GCC to use the system binutils rather
than a newer binutils, then you should be safe in not getting any
UNIQUE or IFUNC symbols.  I don't know if you might run into other
problems.

Ian


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