platform_system_core/libunwindstack
Christopher Ferris d299a7ab58 Fix bug when doing signal handler lookup.
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 239425b9fa)
2018-05-21 21:33:02 +00:00
..
include/unwindstack Fix bug when doing signal handler lookup. 2018-05-21 21:33:02 +00:00
tests Fix bug when doing signal handler lookup. 2018-05-21 21:33:02 +00:00
tools Fix bug when doing signal handler lookup. 2018-05-21 21:33:02 +00:00
.clang-format Use the 2 space clang format for libunwindstack. 2017-03-21 10:41:45 -07:00
Android.bp Fix bug when doing signal handler lookup. 2018-05-21 21:33:02 +00:00
ArmExidx.cpp Expose per arch headers. 2018-02-08 19:29:08 -08:00
ArmExidx.h Add error propagation into Unwinder/Elf objects. 2018-01-24 17:50:46 -08:00
AsmGetRegsMips.S Add libunwindstack support for Mips and Mips64 2017-12-11 15:44:40 +01:00
AsmGetRegsMips64.S Add libunwindstack support for Mips and Mips64 2017-12-11 15:44:40 +01:00
AsmGetRegsX86.S Fix wrong mov instruction size. 2018-01-25 11:44:19 -08:00
AsmGetRegsX86_64.S Add full support for initing registers. 2017-07-11 12:15:54 -07:00
Check.h Add error propagation into Unwinder/Elf objects. 2018-01-24 17:50:46 -08:00
DexFile.cpp Remove dependency on -no_art variant 2018-02-07 15:19:22 -08:00
DexFile.h Load dex files from ART-specific data structure. 2018-02-02 15:03:00 -08:00
DexFiles.cpp Adjust DEX file reading to follow layout changes in ART. 2018-02-16 14:54:49 +00:00
DwarfCfa.cpp Cache DWARF location rules for a given pc. 2018-03-29 08:47:49 -07:00
DwarfCfa.h Add error propagation into Unwinder/Elf objects. 2018-01-24 17:50:46 -08:00
DwarfDebugFrame.h Add support for only a .eh_frame. 2017-11-07 13:22:39 -08:00
DwarfEhFrame.h Expose per arch headers. 2018-02-08 19:29:08 -08:00
DwarfEhFrameWithHdr.cpp Fix off by 4 error handling eh_frame hdr. 2018-02-10 17:11:23 -08:00
DwarfEhFrameWithHdr.h Add support for only a .eh_frame. 2017-11-07 13:22:39 -08:00
DwarfEncoding.h Make the library usable as a library. 2017-07-14 12:20:23 -07:00
DwarfMemory.cpp unwindstack: rename Memory::Read to ReadFully. 2017-11-15 15:38:13 -08:00
DwarfOp.cpp Implement new DEX PC lookup scheme. 2018-02-13 16:45:38 -08:00
DwarfOp.h Implement new DEX PC lookup scheme. 2018-02-13 16:45:38 -08:00
DwarfSection.cpp Cache DWARF location rules for a given pc. 2018-03-29 08:47:49 -07:00
Elf.cpp Fix bug when doing signal handler lookup. 2018-05-21 21:33:02 +00:00
ElfInterface.cpp Fix soname reading code. 2018-02-15 17:57:13 -08:00
ElfInterfaceArm.cpp Always set the sp reg to the cfa for DWARF. 2018-03-19 11:11:19 -07:00
ElfInterfaceArm.h Handle ARM thumb function symbols. 2018-03-15 19:28:23 -07:00
JitDebug.cpp Load dex files from ART-specific data structure. 2018-02-02 15:03:00 -08:00
Log.cpp Make the library usable as a library. 2017-07-14 12:20:23 -07:00
MapInfo.cpp Modify elf cache to handle elf_offsets properly. 2018-02-16 14:52:38 -08:00
Maps.cpp Fix issues in libunwindstack. 2017-12-15 11:17:45 -08:00
Memory.cpp Add a MemoryOfflineBuffer object. 2018-04-04 12:29:25 -07:00
OWNERS Add OWNERS. 2017-12-07 13:30:03 -08:00
Regs.cpp Expose per arch headers. 2018-02-08 19:29:08 -08:00
RegsArm.cpp libunwindstack: add Regs::Clone. 2018-04-23 12:11:38 -07:00
RegsArm64.cpp libunwindstack: add Regs::Clone. 2018-04-23 12:11:38 -07:00
RegsInfo.h Implement new DEX PC lookup scheme. 2018-02-13 16:45:38 -08:00
RegsMips.cpp libunwindstack: add Regs::Clone. 2018-04-23 12:11:38 -07:00
RegsMips64.cpp libunwindstack: add Regs::Clone. 2018-04-23 12:11:38 -07:00
RegsX86.cpp libunwindstack: add Regs::Clone. 2018-04-23 12:11:38 -07:00
RegsX86_64.cpp libunwindstack: add Regs::Clone. 2018-04-23 12:11:38 -07:00
Symbols.cpp Add ability to read jit gdb data. 2018-01-12 11:18:42 -08:00
Symbols.h Add ability to read jit gdb data. 2018-01-12 11:18:42 -08:00
Unwinder.cpp Fix bug when doing signal handler lookup. 2018-05-21 21:33:02 +00:00