This is the mail archive of the
libffi-discuss@sourceware.org
mailing list for the libffi project.
Re: [PATCH 00/13] Go closures, libffi, and the static chain
- From: Richard Henderson <rth at redhat dot com>
- To: libffi-discuss at sourceware dot org, gcc-patches at gcc dot gnu dot org, gofrontend-dev at googlegroups dot com, Andreas Krebbel <krebbel at linux dot vnet dot ibm dot com>
- Date: Thu, 11 Dec 2014 11:37:52 -0800
- Subject: Re: [PATCH 00/13] Go closures, libffi, and the static chain
- Authentication-results: sourceware.org; auth=none
- References: <1412973773-3942-1-git-send-email-rth at redhat dot com> <20141211090623 dot GA30484 at linux dot vnet dot ibm dot com>
On 12/11/2014 01:06 AM, Dominik Vogt wrote:
> reflect.call
> ../../../libgo/runtime/go-reflect-call.c:216
> reflect.call.N13_reflect.Value
> GCCDIR/build-go-closure/x86_64-unknown-linux-gnu/libgo/gotest30365/test/value.go:579
> reflect.Call.N13_reflect.Value
> GCCDIR/build-go-closure/x86_64-unknown-linux-gnu/libgo/gotest30365/test/value.go:412
> reflect_test.TestCallWithStruct
> GCCDIR/build-go-closure/x86_64-unknown-linux-gnu/libgo/gotest30365/test/all_test.go:1490
> testing.tRunner
> ../../../libgo/go/testing/testing.go:422
Indeed. libgo uses ffi_type_void to represent empty structures,
and libffi would crash for x86_64 when passing such parameters.
This does go back to an open bug report about how libffi handles
empty structures in general.
I've fixed this on the branch, and I'll push this through the
proper channels later.
r~