libgo patch committed: Update to current version of Go library

Uros Bizjak ubizjak@gmail.com
Thu Feb 7 22:43:00 GMT 2013


On Thu, Feb 7, 2013 at 5:27 PM, Ian Lance Taylor <iant@google.com> wrote:
> 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.

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.



More information about the Gcc-patches mailing list