android_system_core/libunwindstack
Christopher Ferris 1a141a0925 Small behavioral changes to the unwinder.
- Be a little more lenient when reading the cies/fdes. If next entry data
  winds up incorrect, don't fail, simply stop processing the entries. This
  only applies when reading all of the cies/fdes at once.
- Fail to init an eh_frame with no entries and fallback to assuming the
  eh_frame has no header instead.
- Change the step to always try debug_frame first which has the most
  accurate information.
- Add small unit tests and a couple of offline unit tests to verify
  this behavior.

These changes are needed to support offline unwinding since it depends
on this new behavior.

Bug: 65682279

Test: Ran new unit tests.
Change-Id: I3529f1b0c8e14cd7409494e5de2f3c9e78d0855e
2018-01-24 13:20:03 -08:00
..
include/unwindstack Add support for getting a dex pc. 2018-01-17 19:18:00 -08:00
tests Small behavioral changes to the unwinder. 2018-01-24 13:20:03 -08:00
tools Add support for getting a dex pc. 2018-01-17 19:18:00 -08:00
.clang-format Use the 2 space clang format for libunwindstack. 2017-03-21 10:41:45 -07:00
Android.bp Small behavioral changes to the unwinder. 2018-01-24 13:20:03 -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 Small behavioral changes to the unwinder. 2018-01-24 13:20:03 -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 Small behavioral changes to the unwinder. 2018-01-24 13:20:03 -08: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 Small behavioral changes to the unwinder. 2018-01-24 13:20:03 -08:00
Elf.cpp Add ability to read jit gdb data. 2018-01-12 11:18:42 -08:00
ElfInterface.cpp Small behavioral changes to the unwinder. 2018-01-24 13:20:03 -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 support for getting a dex pc. 2018-01-17 19:18:00 -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