diff options
Diffstat (limited to 'src/libtools')
| -rwxr-xr-x | src/libtools/myalign.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libtools/myalign.c b/src/libtools/myalign.c index be5773f8..0d5190f4 100755 --- a/src/libtools/myalign.c +++ b/src/libtools/myalign.c @@ -103,7 +103,9 @@ void myStackAlign(x64emu_t* emu, const char* fmt, uint64_t* st, uint64_t* mystac memcpy(mystack, st, 16); st+=2; mystack+=2; #else - // there is 128bits long double on ARM64 + // there is 128bits long double on ARM64, but they need 128bit alignment + if((((uintptr_t)mystack)&0xf)!=0) + mystack++; LD2D((void*)st, &d); ld = d ; memcpy(mystack, &ld, 16); |