Peter,
Okay so what we need is...
Index: ffi_darwin.c
===================================================================
--- ffi_darwin.c (revision 117142)
+++ ffi_darwin.c (working copy)
@@ -94,7 +94,7 @@
/* 'next_arg' grows up as we put parameters in it. */
- unsigned *next_arg = stack + 6; /* 6 reserved positions. */
+ unsigned long *next_arg = stack + 6; /* 6 reserved positions. */
int i = ecif->cif->nargs;
double double_tmp;
@@ -114,7 +114,7 @@
Return values are referenced by r3, so r4 is the first parameter. */
if (flags & FLAG_RETVAL_REFERENCE)
- *next_arg++ = (unsigned)(char *)ecif->rvalue;
+ *next_arg++ = (unsigned long)(char *)ecif->rvalue;
/* Now for the arguments. */
for (;
I'll test that tonight. I've opened this up as PR29181.
Jack