[PATCH] winedbg: Handle byte-sized registers in cpu_register() and cpu_register_hex_from().

Henri Verbeet hverbeet at codeweavers.com
Wed Feb 7 07:21:17 CST 2018


Like for example the recently added floating-point TagWord on AMD64.

Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
 programs/winedbg/gdbproxy.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/programs/winedbg/gdbproxy.c b/programs/winedbg/gdbproxy.c
index 7b9a476..67a95f6 100644
--- a/programs/winedbg/gdbproxy.c
+++ b/programs/winedbg/gdbproxy.c
@@ -517,6 +517,7 @@ static inline DWORD64   cpu_register(CONTEXT* ctx, unsigned idx)
 {
     switch (cpu_register_map[idx].ctx_length)
     {
+    case 1: return *(BYTE*)cpu_register_ptr(ctx, idx);
     case 2: return *(WORD*)cpu_register_ptr(ctx, idx);
     case 4: return *(DWORD*)cpu_register_ptr(ctx, idx);
     case 8: return *(DWORD64*)cpu_register_ptr(ctx, idx);
@@ -545,6 +546,7 @@ static inline   void    cpu_register_hex_from(CONTEXT* ctx, unsigned idx, const
         }
         switch (cpu_register_map[idx].ctx_length)
         {
+        case 1: *(BYTE*)cpu_register_ptr(ctx, idx) = (BYTE)val; break;
         case 2: *(WORD*)cpu_register_ptr(ctx, idx) = (WORD)val; break;
         case 4: *(DWORD*)cpu_register_ptr(ctx, idx) = (DWORD)val; break;
         case 8: *(DWORD64*)cpu_register_ptr(ctx, idx) = val; break;
-- 
2.1.4




More information about the wine-devel mailing list