This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [gofrontend-dev] Re: libgo patch committed: Implement reflect.MakeFunc for amd64


On Tue, Nov 12, 2013 at 2:23 PM, Ian Lance Taylor <iant@google.com> wrote:
> On Tue, Nov 12, 2013 at 1:40 PM, H.J. Lu <hjl.tools@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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]