about summary refs log tree commit diff stats
path: root/src/libtools
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2023-06-17 11:32:56 +0200
committerptitSeb <sebastien.chev@gmail.com>2023-06-17 11:32:56 +0200
commitbf9e5b8e6e3b42768a787f1a3d3c1f423d1fb38f (patch)
tree77430b88dda5a324dcf00055c0ffe90cbef6bdb8 /src/libtools
parent7e282c9027a3c7e563b4492a0004174b42de0819 (diff)
downloadbox64-bf9e5b8e6e3b42768a787f1a3d3c1f423d1fb38f.tar.gz
box64-bf9e5b8e6e3b42768a787f1a3d3c1f423d1fb38f.zip
Added support for creating 32bits selector (no 32bits execution yet)
Diffstat (limited to 'src/libtools')
-rwxr-xr-xsrc/libtools/signals.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/libtools/signals.c b/src/libtools/signals.c
index 2bbe6bb2..76fd50eb 100755
--- a/src/libtools/signals.c
+++ b/src/libtools/signals.c
@@ -1242,6 +1242,7 @@ exit(-1);
         }
         if(log_minimum<=box64_log) {
             static const char* reg_name[] = {"RAX", "RCX", "RDX", "RBX", "RSP", "RBP", "RSI", "RDI", " R8", " R9","R10","R11", "R12","R13","R14","R15"};
+            static const char* seg_name[] = {"CS", "DS", "SS", "ES", "GS", "FS"};
             int shown_regs = 0;
 #ifdef DYNAREC
             uint32_t hash = 0;
@@ -1263,6 +1264,9 @@ exit(-1);
                     if(!(i%4)) printf_log(log_minimum, "\n");
                     printf_log(log_minimum, "%s:0x%016llx ", reg_name[i], p->uc_mcontext.regs[10+i]);
                 }
+                for (int i=0; i<3; ++i) {
+                    printf_log(log_minimum, "%s:0x%x ", seg_name[i], emu->segs[i]);
+                }
             }
             if(rsp!=addr && getProtection((uintptr_t)rsp-4*8) && getProtection((uintptr_t)rsp+4*8))
                 for (int i=-4; i<4; ++i) {
@@ -1275,6 +1279,9 @@ exit(-1);
                     if(!(i%4)) printf_log(log_minimum, "\n");
                     printf_log(log_minimum, "%s:0x%016llx ", reg_name[i], p->uc_mcontext.__gregs[16+i]);
                 }
+                for (int i=0; i<3; ++i) {
+                    printf_log(log_minimum, "%s:0x%x ", seg_name[i], emu->segs[i]);
+                }
             }
             if(rsp!=addr && getProtection((uintptr_t)rsp-4*8) && getProtection((uintptr_t)rsp+4*8))
                 for (int i=-4; i<4; ++i) {