Alexandre Julliard : ntdll: Ignore faults caused by alignment check on x86-64.
Alexandre Julliard
julliard at winehq.org
Fri Jun 18 14:45:53 CDT 2021
Module: wine
Branch: master
Commit: c0012ecdd79a698f2ddca9bdcd5e6bbf5a0fcf53
URL: https://source.winehq.org/git/wine.git/?a=commit;h=c0012ecdd79a698f2ddca9bdcd5e6bbf5a0fcf53
Author: Alexandre Julliard <julliard at winehq.org>
Date: Fri Jun 18 13:49:03 2021 +0200
ntdll: Ignore faults caused by alignment check on x86-64.
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/ntdll/unix/signal_x86_64.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/dlls/ntdll/unix/signal_x86_64.c b/dlls/ntdll/unix/signal_x86_64.c
index c36699589d9..2cd133a1087 100644
--- a/dlls/ntdll/unix/signal_x86_64.c
+++ b/dlls/ntdll/unix/signal_x86_64.c
@@ -2280,6 +2280,11 @@ static void segv_handler( int signal, siginfo_t *siginfo, void *sigcontext )
if (!rec.ExceptionCode) return;
break;
case TRAP_x86_ALIGNFLT: /* Alignment check exception */
+ if (EFL_sig(ucontext) & 0x00040000)
+ {
+ EFL_sig(ucontext) &= ~0x00040000; /* reset AC flag */
+ return;
+ }
rec.ExceptionCode = EXCEPTION_DATATYPE_MISALIGNMENT;
break;
default:
More information about the wine-cvs
mailing list