summaryrefslogtreecommitdiff
path: root/debuggerd/handler/debuggerd_handler.cpp
diff options
context:
space:
mode:
authorYabin Cui <yabinc@google.com>2017-02-02 15:25:08 -0800
committerYabin Cui <yabinc@google.com>2017-02-10 17:51:16 -0800
commitc4a480e423e90675e93d94ba4d55ddf8eed50a8b (patch)
treeebd758a1ad741656b7caac7506821de06769c793 /debuggerd/handler/debuggerd_handler.cpp
parent1cb8d9df6c82c26c1af0d44082d21f53bffae7bc (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/handler/debuggerd_handler.cpp')
0 files changed, 0 insertions, 0 deletions