From bfe0c1ccad9ee545a6ab9c0b295258c47b55da3c Mon Sep 17 00:00:00 2001 From: Jack Andersen Date: Wed, 1 Nov 2017 23:20:23 -1000 Subject: [PATCH] Fix addr2line invokation --- lib/logvisor.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/logvisor.cpp b/lib/logvisor.cpp index 4204b92..6b3d062 100644 --- a/lib/logvisor.cpp +++ b/lib/logvisor.cpp @@ -152,7 +152,15 @@ void logvisorAbort() std::string cmdLineStr = cmdLine; for (size_t i = 0; i < size; i++) { +#if __linux__ + Dl_info dlip; + if (dladdr(array[i], &dlip)) + snprintf(cmdLine, 128, " %p", (void*)((uint8_t*)array[i] - (uint8_t*)dlip.dli_fbase)); + else + snprintf(cmdLine, 128, " %p", array[i]); +#else snprintf(cmdLine, 128, " %p", array[i]); +#endif cmdLineStr += cmdLine; }