about summary refs log tree commit diff stats
path: root/src/libtools/signals.c
diff options
context:
space:
mode:
authorHaichen Wu <www.wxmqq@gmail.com>2024-02-28 23:10:13 +0800
committerGitHub <noreply@github.com>2024-02-28 16:10:13 +0100
commitbdcfd697950197691eff44794d6e8a5f0e1b9a54 (patch)
tree6d557fa946fe5550b4e1215c15e3ed92477acfd6 /src/libtools/signals.c
parentdbe1bb0ec47b1857d267029a5a8f497829f9f2ad (diff)
downloadbox64-bdcfd697950197691eff44794d6e8a5f0e1b9a54.tar.gz
box64-bdcfd697950197691eff44794d6e8a5f0e1b9a54.zip
LARCH64 dynarec (#1295)
* LARCH64_DYNAREC dynarec

* [LARCH64_DYNAREC] Change mapping for the registers
Diffstat (limited to 'src/libtools/signals.c')
-rw-r--r--src/libtools/signals.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/libtools/signals.c b/src/libtools/signals.c
index fac0f478..c3c1c572 100644
--- a/src/libtools/signals.c
+++ b/src/libtools/signals.c
@@ -1684,6 +1684,21 @@ dynarec_log(/*LOG_DEBUG*/LOG_INFO, "Repeated SIGSEGV with Access error on %p for
                 for (int i=-4; i<4; ++i) {
                     printf_log(log_minimum, "%sRSP%c0x%02x:0x%016lx", (i%4)?" ":"\n", i<0?'-':'+', abs(i)*8, *(uintptr_t*)(rsp+i*8));
                 }
+#elif defined(LA464)
+            if(db) {
+                shown_regs = 1;
+                for (int i=0; i<16; ++i) {
+                    if(!(i%4)) printf_log(log_minimum, "\n");
+                    printf_log(log_minimum, "%s:0x%016llx ", reg_name[i], p->uc_mcontext.__gregs[16+i]);
+                }
+                printf_log(log_minimum, "\n");
+                for (int i=0; i<6; ++i)
+                    printf_log(log_minimum, "%s:0x%04x ", 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) {
+                    printf_log(log_minimum, "%sRSP%c0x%02x:0x%016lx", (i%4)?" ":"\n", i<0?'-':'+', abs(i)*8, *(uintptr_t*)(rsp+i*8));
+                }
 #else
             #warning TODO
 #endif