Commit 4da814b18a1bf1d2013d988e37485e568d6117d1

Ole André Vadla Ravnås 2016-08-10T22:48:09

aarch64: Fix handling of aggregates larger than 16 bytes Instead of allocating stack space for a pointer we would allocate stack space for the actual aggregate size.

1
2
3
4
5
6
7
8
9
10
11
12
diff --git a/src/aarch64/ffi.c b/src/aarch64/ffi.c
index cf33abc..a600fbf 100644
--- a/src/aarch64/ffi.c
+++ b/src/aarch64/ffi.c
@@ -666,6 +666,7 @@ ffi_call_int (ffi_cif *cif, void (*fn)(void), void *orig_rvalue,
 		   the argument is replaced by a pointer to the copy.  */
 		a = &avalue[i];
 		t = FFI_TYPE_POINTER;
+		s = sizeof (void *);
 		goto do_pointer;
 	      }
 	    else