From 301166b11e913f85d09f67af94264268811f23a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ole=20Andr=C3=A9=20Vadla=20Ravn=C3=A5s?= Date: Wed, 10 Aug 2016 15:59:56 +0200 Subject: [PATCH] aarch64: Fix handling of variadic closures on iOS --- src/aarch64/ffi.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/aarch64/ffi.c b/src/aarch64/ffi.c index cf33abc2..78328a8b 100644 --- a/src/aarch64/ffi.c +++ b/src/aarch64/ffi.c @@ -917,6 +917,15 @@ ffi_closure_SYSV_inner (ffi_cif *cif, default: abort(); } + +#if defined (__APPLE__) + if (i + 1 == cif->aarch64_nfixedargs) + { + state.ngrn = N_X_ARG_REG; + state.nsrn = N_V_ARG_REG; + state.allocating_variadic = 1; + } +#endif } flags = cif->flags;