platform_system_core/libunwindstack
Christopher Ferris ed37aca987 Find first non-zero jit debug entry.
Sometimes a process will have multiple shared libraries loaded
that have defined __jit_debug_descriptor. Specifically, art testing
will load libart.so and libartd.so, which would have broken unwinding
through jit'd code for art testing if libart.so winds up being found first.
In order to avoid duplicating the code for the linker to figure out
which one is live, change the algorithm to find the first non-zero
first_entry_ set in __jit_debug_descriptor.

Bug: 68396769

Test: Passes unit tests.
Test: Verified this can unwind 137-cfi on arm/arm64.
Change-Id: Ic4d403065d2c6f22476ef0171e7add17cd1464cd
2018-01-16 14:59:51 -08:00
..
include/unwindstack Add ability to read jit gdb data. 2018-01-12 11:18:42 -08:00
tests Find first non-zero jit debug entry. 2018-01-16 14:59:51 -08:00
tools Add ability to read jit gdb data. 2018-01-12 11:18:42 -08:00
.clang-format Use the 2 space clang format for libunwindstack. 2017-03-21 10:41:45 -07:00
Android.bp Find first non-zero jit debug entry. 2018-01-16 14:59:51 -08:00
ArmExidx.cpp Split arch data into separate files. 2017-12-06 16:01:40 -08:00
ArmExidx.h Make the library usable as a library. 2017-07-14 12:20:23 -07: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 Add full support for initing registers. 2017-07-11 12:15:54 -07:00
AsmGetRegsX86_64.S Add full support for initing registers. 2017-07-11 12:15:54 -07:00
Check.h Make the library usable as a library. 2017-07-14 12:20:23 -07:00
DwarfCfa.cpp Make the library usable as a library. 2017-07-14 12:20:23 -07:00
DwarfCfa.h Make the library usable as a library. 2017-07-14 12:20:23 -07:00
DwarfDebugFrame.h Add support for only a .eh_frame. 2017-11-07 13:22:39 -08:00
DwarfEhFrame.h Fix incorrect usage of relative pcs. 2017-11-29 16:10:08 -08:00
DwarfEhFrameWithHdr.cpp Fix another nullptr dereference. 2017-11-08 11:04:48 -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
DwarfError.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 unwindstack: rename Memory::Read to ReadFully. 2017-11-15 15:38:13 -08:00
DwarfOp.h Make the library usable as a library. 2017-07-14 12:20:23 -07:00
DwarfSection.cpp unwindstack: rename Memory::Read to ReadFully. 2017-11-15 15:38:13 -08:00
Elf.cpp Add ability to read jit gdb data. 2018-01-12 11:18:42 -08:00
ElfInterface.cpp Add ability to read jit gdb data. 2018-01-12 11:18:42 -08:00
ElfInterfaceArm.cpp Fix issues in libunwindstack. 2017-12-15 11:17:45 -08:00
ElfInterfaceArm.h Fix issues in libunwindstack. 2017-12-15 11:17:45 -08:00
JitDebug.cpp Find first non-zero jit debug entry. 2018-01-16 14:59:51 -08:00
Log.cpp Make the library usable as a library. 2017-07-14 12:20:23 -07:00
MachineArm.h Split arch data into separate files. 2017-12-06 16:01:40 -08:00
MachineArm64.h Split arch data into separate files. 2017-12-06 16:01:40 -08:00
MachineMips.h Add libunwindstack support for Mips and Mips64 2017-12-11 15:44:40 +01:00
MachineMips64.h Add libunwindstack support for Mips and Mips64 2017-12-11 15:44:40 +01:00
MachineX86.h Split arch data into separate files. 2017-12-06 16:01:40 -08:00
MachineX86_64.h Split arch data into separate files. 2017-12-06 16:01:40 -08:00
MapInfo.cpp Fix issues in libunwindstack. 2017-12-15 11:17:45 -08:00
Maps.cpp Fix issues in libunwindstack. 2017-12-15 11:17:45 -08:00
Memory.cpp Add ability to read jit gdb data. 2018-01-12 11:18:42 -08:00
OWNERS Add OWNERS. 2017-12-07 13:30:03 -08:00
Regs.cpp Add libunwindstack support for Mips and Mips64 2017-12-11 15:44:40 +01:00
RegsArm.cpp Add ability to read jit gdb data. 2018-01-12 11:18:42 -08:00
RegsArm64.cpp Split arch data into separate files. 2017-12-06 16:01:40 -08:00
RegsMips.cpp Add libunwindstack support for Mips and Mips64 2017-12-11 15:44:40 +01:00
RegsMips64.cpp Add libunwindstack support for Mips and Mips64 2017-12-11 15:44:40 +01:00
RegsX86.cpp Split arch data into separate files. 2017-12-06 16:01:40 -08:00
RegsX86_64.cpp Split arch data into separate files. 2017-12-06 16:01:40 -08: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
UcontextArm.h Split arch data into separate files. 2017-12-06 16:01:40 -08:00
UcontextArm64.h Split arch data into separate files. 2017-12-06 16:01:40 -08:00
UcontextMips.h Add libunwindstack support for Mips and Mips64 2017-12-11 15:44:40 +01:00
UcontextMips64.h Add libunwindstack support for Mips and Mips64 2017-12-11 15:44:40 +01:00
UcontextX86.h Split arch data into separate files. 2017-12-06 16:01:40 -08:00
UcontextX86_64.h Fix issues in libunwindstack. 2017-12-15 11:17:45 -08:00
Unwinder.cpp Add ability to read jit gdb data. 2018-01-12 11:18:42 -08:00
UserArm.h Split arch data into separate files. 2017-12-06 16:01:40 -08:00
UserArm64.h Split arch data into separate files. 2017-12-06 16:01:40 -08:00
UserMips.h Add libunwindstack support for Mips and Mips64 2017-12-11 15:44:40 +01:00
UserMips64.h Add libunwindstack support for Mips and Mips64 2017-12-11 15:44:40 +01:00
UserX86.h Split arch data into separate files. 2017-12-06 16:01:40 -08:00
UserX86_64.h Split arch data into separate files. 2017-12-06 16:01:40 -08:00