libgo patch committed: Update to current version of Go library

Ian Lance Taylor iant@google.com
Thu Feb 7 16:27:00 GMT 2013


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



More information about the Gcc-patches mailing list