[PATCH v2 3/5] ntdll: Handle interrupt 0x2c on x86-64.

Zebediah Figura z.figura12 at gmail.com
Mon Mar 12 23:03:06 CDT 2018


From: Andrew Wesie <awesie at gmail.com>

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
 dlls/ntdll/signal_x86_64.c   | 3 +++
 dlls/ntdll/tests/exception.c | 2 --
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c
index 7b82083..05b0906 100644
--- a/dlls/ntdll/signal_x86_64.c
+++ b/dlls/ntdll/signal_x86_64.c
@@ -2809,6 +2809,9 @@ static inline BOOL handle_interrupt( unsigned int interrupt, EXCEPTION_RECORD *r
 {
     switch(interrupt)
     {
+    case 0x2c:
+        rec->ExceptionCode = STATUS_ASSERTION_FAILURE;
+        return TRUE;
     case 0x2d:
         context->Rip += 3;
         rec->ExceptionCode = EXCEPTION_BREAKPOINT;
diff --git a/dlls/ntdll/tests/exception.c b/dlls/ntdll/tests/exception.c
index a76fce6..7615b5a 100644
--- a/dlls/ntdll/tests/exception.c
+++ b/dlls/ntdll/tests/exception.c
@@ -2354,8 +2354,6 @@ static DWORD WINAPI handler( EXCEPTION_RECORD *rec, ULONG64 frame,
     trace( "exception %u: %x flags:%x addr:%p\n",
            entry, rec->ExceptionCode, rec->ExceptionFlags, rec->ExceptionAddress );
 
-todo_wine_if( rec->ExceptionCode != except->status &&
-              rec->ExceptionCode != except->alt_status )
     ok( rec->ExceptionCode == except->status ||
         (except->alt_status != 0 && rec->ExceptionCode == except->alt_status),
         "%u: Wrong exception code %x/%x\n", entry, rec->ExceptionCode, except->status );
-- 
2.7.4




More information about the wine-devel mailing list