diff options
author | Yabin Cui <yabinc@google.com> | 2017-02-02 15:25:08 -0800 |
---|---|---|
committer | Yabin Cui <yabinc@google.com> | 2017-02-10 17:51:16 -0800 |
commit | c4a480e423e90675e93d94ba4d55ddf8eed50a8b (patch) | |
tree | ebd758a1ad741656b7caac7506821de06769c793 /debuggerd/debuggerd_test.cpp | |
parent | 1cb8d9df6c82c26c1af0d44082d21f53bffae7bc (diff) |
libbacktraceoffline: choose correct debug section for a given address.
1. In /system/lib/libart.so, the ranges of functions covered by .eh_frame
and .ARM.exidx overlap with each other. Currently, we don't check .eh_frame
if the address is in the ranges of functions covered by .ARM.exidx. It leads
to a wrong unwinding result. So change the logic to first try .eh_frame and
.debug_frame, if it fails, then try .ARM.exidx.
2. Add test for Item 1.
Bug: http://b/35251937
Test: run backtrace_test.
Change-Id: Ic412705617c300bc69b4ece178cc2e1bb3eb765b
Diffstat (limited to 'debuggerd/debuggerd_test.cpp')
0 files changed, 0 insertions, 0 deletions