On 01/12/2015 11:08 AM, Uros Bizjak wrote:
> Hello!
> 
>> Upstream libffi has added support for Go closures (using the static chain),
>> and support for complex numbers.  Perhaps less relevant is new support for
>> arc, microblaze, moxie, nios, and or1k targets.
>>
>> Without additional changes for Go, this merge has little effect.  Within the
>> gcc tree libffi is primarily used by libjava.
>>
>> Tested with no regressions on {i686,x86_64,ppc64,s390x,aarch64,alpha}-linux.
> 
> This patchset regressed libjava on -m32 x86_64-linux-gnu (Fedora 21):
> 
>         === libjava tests ===
> 
> 
> Running target unix
> 
>         === libjava Summary for unix ===
> 
> 
> Running target unix/-m32
> FAIL: libjava.jar/TestClosureGC.jar execution - gij test
> FAIL: libjava.jar/simple.jar execution - gij test
...


Ug.  I don't know how I let this slip by.  Fixed thus.


r~


        * src/x86/ffi.c (ffi_raw_call): Fill in frame.


diff --git a/libffi/src/x86/ffi.c b/libffi/src/x86/ffi.c
index 3885e39..feb5cbb 100644
--- a/libffi/src/x86/ffi.c
+++ b/libffi/src/x86/ffi.c
@@ -675,6 +675,10 @@ ffi_raw_call
   if (rsize)
     rvalue = frame + 1;

+  frame->fn = fn;
+  frame->flags = flags;
+  frame->rvalue = rvalue;
+
   narg_reg = 0;
   switch (flags)
     {

Reply via email to