Akihiro Sagawa : winedbg: Add x87 register support in gdb proxy.

Alexandre Julliard julliard at winehq.org
Wed May 8 15:48:20 CDT 2013


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

Author: Akihiro Sagawa <sagawa.aki at gmail.com>
Date:   Wed May  8 21:11:18 2013 +0900

winedbg: Add x87 register support in gdb proxy.

---

 programs/winedbg/gdbproxy.c |   18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/programs/winedbg/gdbproxy.c b/programs/winedbg/gdbproxy.c
index 47e3bbd..04d36f7 100644
--- a/programs/winedbg/gdbproxy.c
+++ b/programs/winedbg/gdbproxy.c
@@ -232,6 +232,22 @@ static struct cpu_register cpu_register_map[] = {
     REG(SegEs, 4, CONTEXT_SEGMENTS),
     REG(SegFs, 4, CONTEXT_SEGMENTS),
     REG(SegGs, 4, CONTEXT_SEGMENTS),
+    { FIELD_OFFSET(CONTEXT, FloatSave.RegisterArea[ 0]), 10, 10, CONTEXT_FLOATING_POINT },
+    { FIELD_OFFSET(CONTEXT, FloatSave.RegisterArea[10]), 10, 10, CONTEXT_FLOATING_POINT },
+    { FIELD_OFFSET(CONTEXT, FloatSave.RegisterArea[20]), 10, 10, CONTEXT_FLOATING_POINT },
+    { FIELD_OFFSET(CONTEXT, FloatSave.RegisterArea[30]), 10, 10, CONTEXT_FLOATING_POINT },
+    { FIELD_OFFSET(CONTEXT, FloatSave.RegisterArea[40]), 10, 10, CONTEXT_FLOATING_POINT },
+    { FIELD_OFFSET(CONTEXT, FloatSave.RegisterArea[50]), 10, 10, CONTEXT_FLOATING_POINT },
+    { FIELD_OFFSET(CONTEXT, FloatSave.RegisterArea[60]), 10, 10, CONTEXT_FLOATING_POINT },
+    { FIELD_OFFSET(CONTEXT, FloatSave.RegisterArea[70]), 10, 10, CONTEXT_FLOATING_POINT },
+    { FIELD_OFFSET(CONTEXT, FloatSave.ControlWord), 2, 4, CONTEXT_FLOATING_POINT },
+    { FIELD_OFFSET(CONTEXT, FloatSave.StatusWord), 2, 4, CONTEXT_FLOATING_POINT },
+    { FIELD_OFFSET(CONTEXT, FloatSave.TagWord), 2, 4, CONTEXT_FLOATING_POINT },
+    { FIELD_OFFSET(CONTEXT, FloatSave.ErrorSelector), 2, 4, CONTEXT_FLOATING_POINT },
+    REG(FloatSave.ErrorOffset, 4, CONTEXT_FLOATING_POINT ),
+    { FIELD_OFFSET(CONTEXT, FloatSave.DataSelector), 2, 4, CONTEXT_FLOATING_POINT },
+    REG(FloatSave.DataOffset, 4, CONTEXT_FLOATING_POINT ),
+    { FIELD_OFFSET(CONTEXT, FloatSave.ErrorSelector)+2, 2, 4, CONTEXT_FLOATING_POINT },
 };
 #elif defined(__powerpc__)
 static const char target_xml[] = "";
@@ -480,7 +496,7 @@ static BOOL fetch_context(struct gdb_context* gdbctx, HANDLE h, CONTEXT* ctx)
 {
     ctx->ContextFlags =  CONTEXT_CONTROL
                        | CONTEXT_INTEGER
-#if defined(__powerpc__)
+#if defined(__powerpc__) || defined(__i386__)
                        | CONTEXT_FLOATING_POINT
 #endif
 #ifdef CONTEXT_SEGMENTS




More information about the wine-cvs mailing list