Frédéric Fauberteau =?UTF-8?Q?=20?=: wineserver: Support debug registers on NetBSD.

Alexandre Julliard julliard at winehq.org
Sun Mar 3 13:21:31 CST 2019


Module: wine
Branch: oldstable
Commit: 7e5541cb4776fea1b0e33f8262bf881821eab178
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=7e5541cb4776fea1b0e33f8262bf881821eab178

Author: Frédéric Fauberteau <triaxx at NetBSD.org>
Date:   Tue Dec  4 12:54:43 2018 +0100

wineserver: Support debug registers on NetBSD.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46229
Signed-off-by: Frédéric Fauberteau <triaxx at NetBSD.org>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
(cherry picked from commit 708a2c991f8efab99663adaa2bbb963b9dff4f17)
Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>

---

 server/ptrace.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/server/ptrace.c b/server/ptrace.c
index 4eda8eb..808328e 100644
--- a/server/ptrace.c
+++ b/server/ptrace.c
@@ -720,6 +720,13 @@ void get_thread_context( struct thread *thread, context_t *context, unsigned int
         context->debug.i386_regs.dr3 = DBREG_DRX((&dbregs), 3);
         context->debug.i386_regs.dr6 = DBREG_DRX((&dbregs), 6);
         context->debug.i386_regs.dr7 = DBREG_DRX((&dbregs), 7);
+#elif defined(__NetBSD__)
+        context->debug.i386_regs.dr0 = dbregs.dr[0];
+        context->debug.i386_regs.dr1 = dbregs.dr[1];
+        context->debug.i386_regs.dr2 = dbregs.dr[2];
+        context->debug.i386_regs.dr3 = dbregs.dr[3];
+        context->debug.i386_regs.dr6 = dbregs.dr[6];
+        context->debug.i386_regs.dr7 = dbregs.dr[7];
 #else
         context->debug.i386_regs.dr0 = dbregs.dr0;
         context->debug.i386_regs.dr1 = dbregs.dr1;
@@ -754,6 +761,15 @@ void set_thread_context( struct thread *thread, const context_t *context, unsign
     DBREG_DRX((&dbregs), 5) = 0;
     DBREG_DRX((&dbregs), 6) = context->debug.i386_regs.dr6;
     DBREG_DRX((&dbregs), 7) = context->debug.i386_regs.dr7;
+#elif defined(__NetBSD__)
+    dbregs.dr[0] = context->debug.i386_regs.dr0;
+    dbregs.dr[1] = context->debug.i386_regs.dr1;
+    dbregs.dr[2] = context->debug.i386_regs.dr2;
+    dbregs.dr[3] = context->debug.i386_regs.dr3;
+    dbregs.dr[4] = 0;
+    dbregs.dr[5] = 0;
+    dbregs.dr[6] = context->debug.i386_regs.dr6;
+    dbregs.dr[7] = context->debug.i386_regs.dr7;
 #else
     dbregs.dr0 = context->debug.i386_regs.dr0;
     dbregs.dr1 = context->debug.i386_regs.dr1;




More information about the wine-cvs mailing list