From d8a8b00ae0e700c28c04fb80d2fe4588f326c31e Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Sun, 18 Apr 1999 09:22:12 +0000 Subject: [PATCH] Disable AC bit on receiving alignment exceptions. --- loader/signal.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/loader/signal.c b/loader/signal.c index 3c970432dc5..59c0759f501 100644 --- a/loader/signal.c +++ b/loader/signal.c @@ -245,6 +245,17 @@ static HANDLER_DEF(SIGNAL_fault) && VIRTUAL_HandleFault( (LPVOID)CR2_sig(HANDLER_CONTEXT) )) return; #endif +#if defined(TRAP_sig) + /* We don't do alignment checks */ + /* FIXME: if we get SEHs, pass the fault through them first? */ + if (TRAP_sig(HANDLER_CONTEXT) == 0x11) { + if (EFL_sig(HANDLER_CONTEXT) & 0x00040000) { + /* Disable AC flag, return */ + EFL_sig(HANDLER_CONTEXT) &= ~0x00040000; + return; + } + } +#endif if (fnINSTR_EmulateInstruction && fnINSTR_EmulateInstruction( HANDLER_CONTEXT )