about summary refs log tree commit diff stats
path: root/src/emu
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2022-06-19 21:18:05 +0200
committerptitSeb <sebastien.chev@gmail.com>2022-06-19 21:18:05 +0200
commit962c3c25b657ef7ad117aa5f19040b3430480b30 (patch)
tree25b3778e63045b40fbb14f10af0ab6bf332a81ba /src/emu
parentae6d6d753a1206655f7afae707d6cc759de85ec2 (diff)
downloadbox64-962c3c25b657ef7ad117aa5f19040b3430480b30.tar.gz
box64-962c3c25b657ef7ad117aa5f19040b3430480b30.zip
Various small debugging improvments
Diffstat (limited to 'src/emu')
-rwxr-xr-xsrc/emu/x64int3.c2
-rwxr-xr-xsrc/emu/x64run_private.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/src/emu/x64int3.c b/src/emu/x64int3.c
index c382734e..07113eed 100755
--- a/src/emu/x64int3.c
+++ b/src/emu/x64int3.c
@@ -181,6 +181,8 @@ void x64Int3(x64emu_t* emu)
                 } else if (!strcmp(s, "glGetStringi")) {
                     post = 2;
                     snprintf(buff, 255, "%04d|%p: Calling %s(0x%x, %d)", tid, *(void**)(R_RSP), s, R_EDI, R_ESI);
+                } else if (!strcmp(s, "_dl_tlsdesc_undefweak")) {
+                    snprintf(buff, 255, "%04d|%p: Calling %s(RAX=%p)", tid, *(void**)(R_RSP), s, (void*)R_RAX);
                 } else if (!strcmp(s, "glFramebufferTexture2D")) {
                     snprintf(buff, 255, "%04d|%p: Calling %s(0x%x, 0x%x, 0x%x, %u, %d)", tid, *(void**)(R_RSP), s, R_EDI, R_ESI, R_EDX, R_ECX, R_R8d);
                 } else if (!strcmp(s, "glTexSubImage2D")) {
diff --git a/src/emu/x64run_private.c b/src/emu/x64run_private.c
index ae306d83..16a9235e 100755
--- a/src/emu/x64run_private.c
+++ b/src/emu/x64run_private.c
@@ -961,6 +961,7 @@ const char* getAddrFunctionName(uintptr_t addr)
     uintptr_t start = 0;
     elfheader_t* elf = FindElfAddress(my_context, addr);
     const char* symbname = FindNearestSymbolName(elf, (void*)addr, &start, &sz);
+    if(!sz) sz=0x100;   // arbitrary value...
     if(symbname && addr>=start && (addr<(start+sz) || !sz)) {
         if(symbname[0]=='\0')
             sprintf(ret, "%s + 0x%lx", ElfName(elf), addr - (uintptr_t)GetBaseAddress(elf));
@@ -982,6 +983,7 @@ void printFunctionAddr(uintptr_t nextaddr, const char* text)
     uint64_t sz = 0;
     uintptr_t start = 0;
     const char* symbname = FindNearestSymbolName(FindElfAddress(my_context, nextaddr), (void*)nextaddr, &start, &sz);
+    if(!sz) sz=0x100;   // arbitrary value...
     if(symbname && nextaddr>=start && (nextaddr<(start+sz) || !sz)) {
         if(nextaddr==start)
             printf_log(LOG_NONE, " (%s%s:%s)", text, ElfName(FindElfAddress(my_context, nextaddr)), symbname);