From 87fde19623b3366996a2f0c73a4c09bd9fa72458 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Sun, 16 Apr 2023 16:47:03 +0200 Subject: Do not compute name and other info if they are not shown on signal --- src/libtools/signals.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/libtools') diff --git a/src/libtools/signals.c b/src/libtools/signals.c index 263711f2..90986298 100755 --- a/src/libtools/signals.c +++ b/src/libtools/signals.c @@ -1077,7 +1077,7 @@ exit(-1); old_pc = pc; old_addr = addr; old_tid = GetTID(); - const char* name = GetNativeName(pc); + const char* name = (log_minimum<=box64_log)?GetNativeName(pc):NULL; uintptr_t x64pc = (uintptr_t)-1; const char* x64name = NULL; const char* elfname = NULL; @@ -1118,10 +1118,12 @@ exit(-1); #endif //DYNAREC if(!db && (sig==SIGSEGV) && ((uintptr_t)addr==x64pc-1)) x64pc--; - x64name = getAddrFunctionName(x64pc); - elfheader_t* elf = FindElfAddress(my_context, x64pc); - if(elf) - elfname = ElfName(elf); + if(log_minimum<=box64_log) { + x64name = getAddrFunctionName(x64pc); + elfheader_t* elf = FindElfAddress(my_context, x64pc); + if(elf) + elfname = ElfName(elf); + } if(jit_gdb) { pid_t pid = getpid(); int v = vfork(); // is this ok in a signal handler??? -- cgit 1.4.1