On Tue, Nov 12, 2013 at 2:23 PM, Ian Lance Taylor <i...@google.com> wrote: > On Tue, Nov 12, 2013 at 1:40 PM, H.J. Lu <hjl.to...@gmail.com> wrote: >> >> TestMakeFunc failed on x32: >> >> FAIL: TestMakeFunc (0.00 seconds) >> all_test.go:1457: Call returned 10, 20, 30, [40 0], 60, 70, 80; want 10, >> 20, 30, [40, 50], 60, 70, 80 >> >> The difference in x32 is x32 puts 2 pointers (32-bit) in one 64-git >> register. Somehow, the second pointer in >> >> type two [2]uintptr >> >> isn't returned properly.. Do you know what I should check for x32? > > We'll need some code for x32 support in libgo. Right now there is > none. For this specific problem we'll need files makefunc_x32.S and > makefuncgo_x32.go. I don't know how the x32 ABI differs from the > x86_64 ABI, but those changes will need to be reflected there.
X32 info can be found at https://sites.google.com/site/x32abi/ X32 is very close to x86-64. The main difference is pointer and long are 32 bits in x32. > Please open a entry for this in bugzilla. > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59095 Thanks. -- H.J.