diff options
| author | Mike Pall <mike> | 2026-06-29 11:40:02 +0200 |
|---|---|---|
| committer | Mike Pall <mike> | 2026-06-29 11:40:02 +0200 |
| commit | a2bde60819d83e6f75130ac2c93ee4b3c7615800 (patch) | |
| tree | 89e1915d10285f9c2e8516e9633c1fda873b3ba8 /src | |
| parent | 9d145d2ca3db58493859c495489a0f08f627834f (diff) | |
| download | luajit-a2bde60819d83e6f75130ac2c93ee4b3c7615800.tar.gz luajit-a2bde60819d83e6f75130ac2c93ee4b3c7615800.tar.bz2 luajit-a2bde60819d83e6f75130ac2c93ee4b3c7615800.zip | |
FFI/MacOS: Fix calling convention for on-stack varargs.
Thanks to Sergey Kaplun. #1455
Diffstat (limited to 'src')
| -rw-r--r-- | src/lj_ccall.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_ccall.c b/src/lj_ccall.c index c89d97605..1aae0d40c 100644 --- a/src/lj_ccall.c +++ b/src/lj_ccall.c | |||
| @@ -1091,7 +1091,7 @@ static int ccall_set_args(lua_State *L, CTState *cts, CType *ct, | |||
| 1091 | if (CCALL_ALIGN_STACKARG) { /* Align argument on stack. */ | 1091 | if (CCALL_ALIGN_STACKARG) { /* Align argument on stack. */ |
| 1092 | MSize align = (1u << ctype_align(ccall_struct_align(cts, d))) - 1; | 1092 | MSize align = (1u << ctype_align(ccall_struct_align(cts, d))) - 1; |
| 1093 | #if LJ_TARGET_ARM64 && LJ_TARGET_OSX | 1093 | #if LJ_TARGET_ARM64 && LJ_TARGET_OSX |
| 1094 | isva = ctype_isstruct(d->info); | 1094 | isva |= ctype_isstruct(d->info); |
| 1095 | #endif | 1095 | #endif |
| 1096 | if (rp || (CCALL_PACK_STACKARG && isva && align < CTSIZE_PTR-1)) | 1096 | if (rp || (CCALL_PACK_STACKARG && isva && align < CTSIZE_PTR-1)) |
| 1097 | align = CTSIZE_PTR-1; | 1097 | align = CTSIZE_PTR-1; |
