The new lld linker uses all non-zero offset executable maps. There was
a bug when trying to find if the stack is in a signal handler that caused
the code to read the wrong place in the elf. Fixed by not adding the elf
offset to the relative pc.
Also fixed the unwind_for_offline tool to dump multiple stacks if necessary.
Added new offline unit test that would have failed with the old code.
Bug: 79936827
Test: Ran unit tests and libbacktrace unit tests.
Test: Dumped backtraces of system pids.
Test: Ran 137-cfi art test.
Change-Id: Iaca8c18c2a314902e64c3f72831234297e8dcb1b
Merged-In: Iaca8c18c2a314902e64c3f72831234297e8dcb1b
(cherry picked from commit
|
||
|---|---|---|
| .. | ||
| art_quick_osr_stub_arm | ||
| bad_eh_frame_hdr_arm64 | ||
| debug_frame_first_x86 | ||
| eh_frame_hdr_begin_x86_64 | ||
| gnu_debugdata_arm | ||
| jit_debug_arm | ||
| jit_debug_x86 | ||
| offset_arm | ||
| straddle_arm | ||
| straddle_arm64 | ||