platform_system_core/libunwindstack
Christopher Ferris 92acaac8c7 Refactor the DwarfSection classes.
Modify the code for the no header sections because it turns out that
it is not okay to assume that the fdes are non-overlapping. It's necessary
to read the fdes in order and match as you go.

Modify the code so that it only reads until it finds the given pc rather than
reading all of the cie/fde entries at once.

Rewrote the tests to verify the new behavior.

Bug: 68998033
Bug: 110235461

Test: Ran libbacktrace/libunwindstack unit tests.
Test: Unwind the mediaserver process on a walleye and verify it
Test: unwinds properly.

Change-Id: I7bb59d1db72c13fa34caa9735ec34c1a60e20ed2
2018-06-27 14:52:21 -07:00
..
include/unwindstack Refactor the DwarfSection classes. 2018-06-27 14:52:21 -07:00
tests Refactor the DwarfSection classes. 2018-06-27 14:52:21 -07:00
tools Fix handling of load bias values. 2018-06-11 18:53:55 -07:00
.clang-format Use the 2 space clang format for libunwindstack. 2017-03-21 10:41:45 -07:00
Android.bp Fix handling of load bias values. 2018-06-11 18:53:55 -07:00
ArmExidx.cpp Fix handling of load bias values. 2018-06-11 18:53:55 -07:00
ArmExidx.h Fix handling of load bias values. 2018-06-11 18:53:55 -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 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 Fix handling of load bias values. 2018-06-11 18:53:55 -07:00
DwarfCfa.h Fix handling of load bias values. 2018-06-11 18:53:55 -07:00
DwarfDebugFrame.h Refactor the DwarfSection classes. 2018-06-27 14:52:21 -07:00
DwarfEhFrame.h Refactor the DwarfSection classes. 2018-06-27 14:52:21 -07:00
DwarfEhFrameWithHdr.cpp Refactor the DwarfSection classes. 2018-06-27 14:52:21 -07:00
DwarfEhFrameWithHdr.h Refactor the DwarfSection classes. 2018-06-27 14:52:21 -07: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 Refactor the DwarfSection classes. 2018-06-27 14:52:21 -07:00
Elf.cpp Fix handling of load bias values. 2018-06-11 18:53:55 -07:00
ElfInterface.cpp Fix ARM program header values used for exidx. 2018-06-22 16:48:02 -07:00
ElfInterfaceArm.cpp Fix ARM program header values used for exidx. 2018-06-22 16:48:02 -07:00
ElfInterfaceArm.h Fix ARM program header values used for exidx. 2018-06-22 16:48:02 -07:00
JitDebug.cpp Load dex files from ART-specific data structure. 2018-02-02 15:03:00 -08:00
LocalUnwinder.cpp Add a specialized LocalUnwinder object. 2018-05-23 20:02:30 -07: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 Add a specialized LocalUnwinder object. 2018-05-23 20:02:30 -07:00
Memory.cpp Add a MemoryOfflineBuffer object. 2018-04-03 18:37:52 -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-20 13:23:20 -07:00
RegsArm64.cpp libunwindstack: add Regs::Clone. 2018-04-20 13:23:20 -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-20 13:23:20 -07:00
RegsMips64.cpp libunwindstack: add Regs::Clone. 2018-04-20 13:23:20 -07:00
RegsX86.cpp libunwindstack: add Regs::Clone. 2018-04-20 13:23:20 -07:00
RegsX86_64.cpp libunwindstack: add Regs::Clone. 2018-04-20 13:23:20 -07:00
Symbols.cpp Fix handling of load bias values. 2018-06-11 18:53:55 -07:00
Symbols.h Fix handling of load bias values. 2018-06-11 18:53:55 -07:00
Unwinder.cpp Fix bug when doing signal handler lookup. 2018-05-17 18:58:42 -07:00