Alexandre Julliard : ntdll: Handle trap exception in signal handler on ARM64.

Alexandre Julliard julliard at winehq.org
Thu Sep 12 16:28:57 CDT 2019


Module: wine
Branch: master
Commit: a7459d0c99677be0df238236e0c5d555fe8d9dc1
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=a7459d0c99677be0df238236e0c5d555fe8d9dc1

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Thu Sep 12 21:23:15 2019 +0200

ntdll: Handle trap exception in signal handler on ARM64.

Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/ntdll/signal_arm64.c | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/dlls/ntdll/signal_arm64.c b/dlls/ntdll/signal_arm64.c
index a029960ba4..40ef517d22 100644
--- a/dlls/ntdll/signal_arm64.c
+++ b/dlls/ntdll/signal_arm64.c
@@ -540,17 +540,6 @@ done:
     set_cpu_context( context );
 }
 
-/**********************************************************************
- *		raise_trap_exception
- */
-static void WINAPI raise_trap_exception( EXCEPTION_RECORD *rec, CONTEXT *context )
-{
-    NTSTATUS status;
-    if (rec->ExceptionCode == EXCEPTION_BREAKPOINT) context->Pc += 4;
-    status = NtRaiseException( rec, context, TRUE );
-    raise_status( status, rec );
-}
-
 /**********************************************************************
  *		raise_generic_exception
  */
@@ -1110,9 +1099,10 @@ static void trap_handler( int signal, siginfo_t *info, void *ucontext )
     case TRAP_BRKPT:
     default:
         stack->rec.ExceptionCode = EXCEPTION_BREAKPOINT;
+        stack->context.Pc += 4;
         break;
     }
-    setup_raise_exception( context, stack, raise_trap_exception );
+    setup_raise_exception( context, stack, raise_generic_exception );
 }
 
 /**********************************************************************




More information about the wine-cvs mailing list