On Thu, Feb 7, 2013 at 2:26 AM, Uros Bizjak <ubiz...@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