summaryrefslogtreecommitdiffstats
path: root/libunwindstack/tools
diff options
context:
space:
mode:
authorChristopher Ferris <cferris@google.com>2017-12-15 11:17:45 -0800
committerChristopher Ferris <cferris@google.com>2017-12-15 11:17:45 -0800
commite7b6624c3fd6bb780f6330448fad175e80469384 (patch)
tree3d51f04c7a314eddbd0d091b5ae806cdcb18b64d /libunwindstack/tools
parent3fca67514a0634f1645db5d0a1030e42d061bf69 (diff)
downloadsystem_core-e7b6624c3fd6bb780f6330448fad175e80469384.tar.gz
system_core-e7b6624c3fd6bb780f6330448fad175e80469384.tar.bz2
system_core-e7b6624c3fd6bb780f6330448fad175e80469384.zip
Fix issues in libunwindstack.
- Add a load_bias field in MapInfo so that it can be loaded offline, and also so it can be cached. - Add an Add function to the Maps class so that it's possible to manually create a map. - Remove the OfflineMaps class since I haven't found a reason for this to exist. - Add a pointer to the gnu debugdata compressed section in the interface itself and modify the step path to try eh_frame, then debug_frame, then gnu_debugdata. This way arm can add exidx as the last step behind gnu_debugdata. Add an offline test to verify the order of unwind. - Fix x86_64_ucontext_t since it was a different size on 32 bit and 64 bit systems. Test: Pass new unit tests. Change-Id: I978b70d6c244bd307c62a29886d24c1a8cb2af23
Diffstat (limited to 'libunwindstack/tools')
-rw-r--r--libunwindstack/tools/unwind_info.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/libunwindstack/tools/unwind_info.cpp b/libunwindstack/tools/unwind_info.cpp
index a00b2ee48..7f2d11d67 100644
--- a/libunwindstack/tools/unwind_info.cpp
+++ b/libunwindstack/tools/unwind_info.cpp
@@ -87,7 +87,7 @@ void DumpDwarfSection(ElfInterface* interface, DwarfSection* section, uint64_t l
for (const DwarfFde* fde : *section) {
// Sometimes there are entries that have empty length, skip those since
// they don't contain any interesting information.
- if (fde->pc_start == fde->pc_end) {
+ if (fde == nullptr || fde->pc_start == fde->pc_end) {
continue;
}
printf("\n PC 0x%" PRIx64, fde->pc_start + load_bias);