diff options
Diffstat (limited to 'executor/executor_runner.h')
| -rw-r--r-- | executor/executor_runner.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/executor/executor_runner.h b/executor/executor_runner.h index 3bffcaeb2..100ed87f6 100644 --- a/executor/executor_runner.h +++ b/executor/executor_runner.h @@ -759,8 +759,9 @@ static void SigsegvHandler(int sig, siginfo_t* info, void* ucontext) #endif // Print the current function PC so that it's possible to map the failing PC // to a symbol in the binary offline (we usually compile as PIE). - failmsg("SIGSEGV", "sig:%d handler:%p pc:%p addr:%p", - sig, SigsegvHandler, reinterpret_cast<void*>(pc), info->si_addr); + failmsg(sig == SIGSEGV ? "SIGSEGV" : "SIGBUS", "handler:0x%zx pc:%p addr:%p", + reinterpret_cast<uintptr_t>(reinterpret_cast<void*>(SigsegvHandler)) - pc, + reinterpret_cast<void*>(pc), info->si_addr); } static void runner(char** argv, int argc) |
