about summary refs log tree commit diff stats
path: root/src/libtools
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-06-15 17:11:28 +0200
committerptitSeb <sebastien.chev@gmail.com>2021-06-15 17:11:28 +0200
commitc44961c06304a9f669147eb263d3e20b54cba7ec (patch)
treed2963613ea7f3493133f0de557a79e5b779fb1c3 /src/libtools
parentaceb234c2ef022bfdec7063e90569899bd2d8954 (diff)
downloadbox64-c44961c06304a9f669147eb263d3e20b54cba7ec.tar.gz
box64-c44961c06304a9f669147eb263d3e20b54cba7ec.zip
Improved Log for emit_signal
Diffstat (limited to 'src/libtools')
-rwxr-xr-xsrc/libtools/signals.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/libtools/signals.c b/src/libtools/signals.c
index 17ba10e5..d168497c 100755
--- a/src/libtools/signals.c
+++ b/src/libtools/signals.c
@@ -912,7 +912,16 @@ void emit_signal(x64emu_t* emu, int sig, void* addr, int code)
     info.si_errno = 0;
     info.si_code = code;
     info.si_addr = addr;
-    printf_log(LOG_INFO, "Emit Signal %d at IP=%p / addr=%p, code=%d\n", sig, (void*)R_RIP, addr, code);
+    char* x64name = NULL;
+    char* elfname = NULL;
+    if(box64_log>LOG_NONE) {
+        x64name = getAddrFunctionName(R_RIP);
+        elfheader_t* elf = FindElfAddress(my_context, R_RIP);
+        if(elf)
+            elfname = ElfName(elf);
+    }
+
+    printf_log(LOG_INFO, "Emit Signal %d at IP=%p(%s / %s) / addr=%p, code=%d\n", sig, (void*)R_RIP, x64name?x64name:"???", elfname?elfname:"?", addr, code);
     my_sigactionhandler_oldcode(sig, &info, &ctx, NULL, db);
 }