On Thu, Feb 7, 2013 at 5:27 PM, Ian Lance Taylor <i...@google.com> wrote: > 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.
You are right, reverting binutils back to default CentOS 5.9: GNU ld version 2.17.50.0.6-20.el5_8.3 20061020 I was able to run go testsuite. I did hit one new error that seems related: --- FAIL: TestChtimes (0.00 seconds) os_test.go:681: AccessTime didn't go backwards; was={63495872497 0 47130825733376}, after={63495872497 0 47130825733376} os_test.go:685: ModTime didn't go backwards; was={63495872497 0 47130825733376}, after={63495872497 0 47130825733376} FAIL FAIL: os But haven't debug it yet. Thanks, Uros.