From: Andrew Wesie awesie@gmail.com
Signed-off-by: Zebediah Figura z.figura12@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 );