From 7010ecb50d12507935c775f607106b13187edfb0 Mon Sep 17 00:00:00 2001 From: Christopher Ferris Date: Mon, 28 Jan 2019 14:47:24 -0800 Subject: [PATCH] Fix bug in unwind_info display of exidx frame. The rosegment changed the load segments and broke the unwind_info printing of unwind information for the arm exidx frame. Test: Fixed and verified by dumping the arm exidx frame. Change-Id: I7270175e4dcb7fee2b96a16d168880ebd09f19b1 --- libunwindstack/tools/unwind_info.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libunwindstack/tools/unwind_info.cpp b/libunwindstack/tools/unwind_info.cpp index 3f5b88ba8..19982d8f6 100644 --- a/libunwindstack/tools/unwind_info.cpp +++ b/libunwindstack/tools/unwind_info.cpp @@ -44,10 +44,10 @@ void DumpArm(Elf* elf, ElfInterfaceArm* interface) { } printf("ARM Unwind Information:\n"); + uint64_t load_bias = elf->GetLoadBias(); for (const auto& entry : interface->pt_loads()) { - uint64_t load_bias = entry.second.table_offset; printf(" PC Range 0x%" PRIx64 " - 0x%" PRIx64 "\n", entry.second.offset + load_bias, - entry.second.table_size + load_bias); + entry.second.offset + entry.second.table_size + load_bias); for (auto pc : *interface) { std::string name; printf(" PC 0x%" PRIx64, pc + load_bias);