libBacktraceOffline: fix using debug frame with load bias.
Bug: http://b/69383534
Test: run backtrace_test.
Change-Id: I295d9dc8f3e5b628f179b2eaeac21fa93de130b0
diff --git a/libbacktrace/BacktraceOffline.cpp b/libbacktrace/BacktraceOffline.cpp
index 0a2f5a3..3041492 100644
--- a/libbacktrace/BacktraceOffline.cpp
+++ b/libbacktrace/BacktraceOffline.cpp
@@ -320,7 +320,7 @@
}
if (debug_frame->has_debug_frame || debug_frame->has_gnu_debugdata) {
unw_dyn_info_t di;
- unw_word_t segbase = map.start - map.offset;
+ unw_word_t segbase = map.start - debug_frame->min_vaddr;
// TODO: http://b/32916571
// TODO: Do it ourselves is more efficient than calling libunwind functions.
int found = dwarf_find_debug_frame(0, &di, ip, segbase, filename.c_str(), map.start, map.end);