This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [gofrontend-dev] Re: libgo patch committed: Implement reflect.MakeFunc for amd64
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Ian Lance Taylor <iant at google dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, "gofrontend-dev at googlegroups dot com" <gofrontend-dev at googlegroups dot com>
- Date: Tue, 12 Nov 2013 14:42:24 -0800
- Subject: Re: [gofrontend-dev] Re: libgo patch committed: Implement reflect.MakeFunc for amd64
- Authentication-results: sourceware.org; auth=none
- References: <mcry56ixi9d dot fsf at iant-glaptop dot roam dot corp dot google dot com> <CAMe9rOojiJFawcrfDGtNpAN4oniTTW+-GANK1uO5=Da5H3UxKA at mail dot gmail dot com> <CAKOQZ8z4mcsBva8NA0dc=0Hf1hCUupvS4gGjPvDmgCMo7SA12g at mail dot gmail dot com>
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.