This is the mail archive of the libffi-discuss@sourceware.org mailing list for the libffi 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: [PATCH 00/13] Go closures, libffi, and the static chain


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~


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