Please help test libffi 3.0.11-rc3

Matthias Klose doko@ubuntu.com
Fri Apr 6 20:30:00 GMT 2012


[ CC'ing David although I don't know if his Linaro address will still work]

On 06.04.2012 14:28, Anthony Green wrote:
> I've uploaded release candidate 3 for testing here:
>    ftp://sourceware.org/pub/libffi/libffi-3.0.11-rc3.tar.gz
>
> Please test it on whatever systems you have at your disposal, and
> update the testing wiki here:
>    http://www.moxielogic.org/wiki/index.php/Libffi_3.0.11
>
> I'd like to make a release within a week.
>
> Here's what the README says about 3.0.11...
>
>          Add support for variadic functions (ffi_prep_cif_var).
>          Add Linux/x32 support.
>          Add thiscall, fastcall and MSVC cdecl support on Windows.
>          Add Amiga and newer MacOS support.
>          Fix Octeon and MC68881 support.
>          Add m68k FreeMiNT support.
>          Fix code pessimizations.
>          Lots of build fixes.
>
> Let me know if I should add anything else.

I see that some of the armhf-variadic patches are not applied, attached.  Please 
could you confirm if dropping these changes is deliberate?

Thanks, Matthias
-------------- next part --------------
--- libffi-3.0.11~rc1.orig/testsuite/libffi.call/cls_double_va.c
+++ libffi-3.0.11~rc1/testsuite/libffi.call/cls_double_va.c
@@ -7,7 +7,6 @@
 /* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
 /* { dg-output "" { xfail avr32*-*-* } } */
 /* { dg-output "" { xfail mips-sgi-irix6* } } PR libffi/46660 */
-/* { dg-skip-if "" arm*-*-* { "-mfloat-abi=hard" } { "" } } */
 
 #include "ffitest.h"
 
--- libffi-3.0.11~rc1.orig/testsuite/libffi.call/cls_longdouble_va.c
+++ libffi-3.0.11~rc1/testsuite/libffi.call/cls_longdouble_va.c
@@ -7,7 +7,6 @@
 /* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
 /* { dg-output "" { xfail avr32*-*-* x86_64-*-mingw* } } */
 /* { dg-output "" { xfail mips-sgi-irix6* } } PR libffi/46660 */
-/* { dg-skip-if "" arm*-*-* { "-mfloat-abi=hard" } { "" } } */
 
 #include "ffitest.h"
 
--- libffi-3.0.11~rc1.orig/src/arm/ffi.c
+++ libffi-3.0.11~rc1/src/arm/ffi.c
@@ -189,6 +189,18 @@ ffi_status ffi_prep_cif_machdep(ffi_cif
   return FFI_OK;
 }
 
+/* Perform machine dependent cif processing for variadic calls */
+ffi_status ffi_prep_cif_machdep_var(ffi_cif *cif, 
+				    unsigned int nfixedargs,
+				    unsigned int ntotalargs)
+{
+  /* VFP variadic calls actually use the SYSV ABI */
+  if (cif->abi == FFI_VFP)
+	cif->abi = FFI_SYSV;
+
+  return ffi_prep_cif_machdep(cif);
+}
+
 /* Prototypes for assembly functions, in sysv.S */
 extern void ffi_call_SYSV (void (*fn)(void), extended_cif *, unsigned, unsigned, unsigned *);
 extern void ffi_call_VFP (void (*fn)(void), extended_cif *, unsigned, unsigned, unsigned *);


More information about the Libffi-discuss mailing list