c4a480e423
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 |
||
---|---|---|
.. | ||
libart.so | ||
libbacktrace_test_arm_exidx.so | ||
libbacktrace_test_debug_frame.so | ||
libbacktrace_test_gnu_debugdata.so | ||
offline_testdata | ||
offline_testdata_for_libart |