android_system_core/libunwindstack/tests
Ryan Prichard 9b8f545920 libunwindstack: Support signal frame CIEs.
Mark a CIE with a S in its augmentation string as signal frame.
This allows the code to properly handle signal frame data if none
of the signal frame pattern matchers work.

For a signal frame, DwarfSectionImpl<AddressType>::Eval needs to
continue the unwinding even if PC is zero. A zero PC means that the
program has crashed, and we should try to recover the real PC using the
return address on the stack or LR. This behavior is tested by
UnwindOffline.signal_{x86,x86_64}, which modify the libc.so files
so that the signal frame pattern matcher fails and the CIE/FDE
data is used instead.

Test: libunwindstack_test
Change-Id: I4655b070028fd984345311a5e743796f8c30ed36
2020-10-02 16:34:14 -07:00
..
files libunwindstack: Support signal frame CIEs. 2020-10-02 16:34:14 -07:00
fuzz Fix an error when overflows occur. 2020-10-01 18:40:44 -07:00
ArmExidxDecodeTest.cpp Fix build with new googletest 2019-11-10 04:08:25 +00:00
ArmExidxExtractTest.cpp Fix handling of load bias values. 2018-06-11 18:53:55 -07:00
DexFileData.h Load dex files from ART-specific data structure. 2018-02-02 15:03:00 -08:00
DexFilesTest.cpp Fix global finding logic. 2020-01-21 18:00:57 -08:00
DexFileTest.cpp Avoid re-mapping dex file that's in local memory. 2020-04-07 18:07:38 -07:00
DwarfCfaLogTest.cpp libunwindstack: support for Armv8.3-A Pointer Authentication 2020-07-14 13:31:59 -07:00
DwarfCfaTest.cpp libunwindstack: support for Armv8.3-A Pointer Authentication 2020-07-14 13:31:59 -07:00
DwarfDebugFrameTest.cpp Rewrite DwarfSectionImpl::InsertFde 2020-02-22 11:45:42 -08:00
DwarfEhFrameTest.cpp Add a name for all test suites 2019-12-11 12:46:20 -08:00
DwarfEhFrameWithHdrTest.cpp Add a name for all test suites 2019-12-11 12:46:20 -08:00
DwarfMemoryTest.cpp Remove CHECK in AdjustEncodedValue. 2018-12-20 08:40:58 -08:00
DwarfOpLogTest.cpp Add a name for all test suites 2019-12-11 12:46:20 -08:00
DwarfOpTest.cpp Add a name for all test suites 2019-12-11 12:46:20 -08:00
DwarfSectionImplTest.cpp libunwindstack: don't save pseudoregisters while evaluating Dwarf 2020-08-18 18:08:28 -07:00
DwarfSectionTest.cpp libunwindstack: Support signal frame CIEs. 2020-10-02 16:34:14 -07:00
ElfCacheTest.cpp Properly handle empty map after read-only map. 2020-01-22 18:30:12 -08:00
ElfFake.cpp libunwindstack: Support signal frame CIEs. 2020-10-02 16:34:14 -07:00
ElfFake.h libunwindstack: Support signal frame CIEs. 2020-10-02 16:34:14 -07:00
ElfInterfaceArmTest.cpp Remove Memory::ReadField. 2018-07-12 12:45:31 -07:00
ElfInterfaceTest.cpp Fix handling of possible bad gnu_debugdata_size. 2019-12-19 16:48:15 -08:00
ElfTest.cpp libunwindstack: Support signal frame CIEs. 2020-10-02 16:34:14 -07:00
ElfTestUtils.cpp Fix incorrect usage of relative pcs. 2017-11-29 16:10:08 -08:00
ElfTestUtils.h Fix incorrect usage of relative pcs. 2017-11-29 16:10:08 -08:00
GenGnuDebugdata.cpp Add .gnu_debugdata support. 2017-06-28 15:23:10 -07:00
IsolatedSettings.cpp Move to isolated testing. 2019-07-17 18:08:32 -07:00
JitDebugTest.cpp Fix support finding global variables. 2019-12-03 17:35:00 -08:00
LocalUnwinderTest.cpp Add test mapping to run the libunwind tests. 2019-09-03 13:32:51 -07:00
LocalUpdatableMapsTest.cpp Fix dangling pointer issue in LocalUpdatbleMaps 2020-05-01 22:20:01 +00:00
LogFake.cpp Make the library usable as a library. 2017-07-14 12:20:23 -07:00
LogFake.h Make the library usable as a library. 2017-07-14 12:20:23 -07:00
MapInfoCreateMemoryTest.cpp Properly handle empty map after read-only map. 2020-01-22 18:30:12 -08:00
MapInfoGetBuildIDTest.cpp Fix off-by-one in ReadBuildIDFromMemory. 2020-03-31 10:29:38 -07:00
MapInfoGetElfTest.cpp Properly handle empty map after read-only map. 2020-01-22 18:30:12 -08:00
MapInfoGetLoadBiasTest.cpp Properly handle empty map after read-only map. 2020-01-22 18:30:12 -08:00
MapInfoTest.cpp Properly handle empty map after read-only map. 2020-01-22 18:30:12 -08:00
MapsTest.cpp Properly handle empty map after read-only map. 2020-01-22 18:30:12 -08:00
MemoryBufferTest.cpp Internalize subclasses of Memory 2019-06-11 12:09:18 -07:00
MemoryCacheTest.cpp Internalize subclasses of Memory 2019-06-11 12:09:18 -07:00
MemoryFake.cpp Implement support for linker rosegment option. 2018-10-03 20:48:45 -07:00
MemoryFake.h Implement support for linker rosegment option. 2018-10-03 20:48:45 -07:00
MemoryFileTest.cpp Internalize subclasses of Memory 2019-06-11 12:09:18 -07:00
MemoryLocalTest.cpp Internalize subclasses of Memory 2019-06-11 12:09:18 -07:00
MemoryMteTest.cpp libunwindstack: Add Memory::ReadTag() function for reading memory tags. 2020-04-16 00:23:45 -07:00
MemoryOfflineBufferTest.cpp Switch case to suite to follow new gtest naming. 2019-06-20 16:18:57 -07:00
MemoryOfflineTest.cpp Internalize subclasses of Memory 2019-06-11 12:09:18 -07:00
MemoryRangesTest.cpp Internalize subclasses of Memory 2019-06-11 12:09:18 -07:00
MemoryRangeTest.cpp Internalize subclasses of Memory 2019-06-11 12:09:18 -07:00
MemoryRemoteTest.cpp Reland "bionic_libc_platform_headers is only available when building with Bionic". 2020-04-29 18:16:46 +01:00
MemoryTest.cpp Optimize Memory::ReadString 2020-04-16 15:03:19 -07:00
RegsFake.h libunwindstack: don't save pseudoregisters while evaluating Dwarf 2020-08-18 18:08:28 -07:00
RegsInfoTest.cpp Fix off by one error. 2018-10-23 18:10:41 +01:00
RegsIterateTest.cpp unwindstack: RegsArm64: fix harmless off by 1 + iterate GPRs contiguously 2020-01-24 19:50:45 +00:00
RegsStepIfSignalHandlerTest.cpp Always set the sp reg to the cfa for DWARF. 2018-03-16 23:38:07 -07:00
RegsTest.cpp libunwindstack: support for Armv8.3-A Pointer Authentication 2020-07-14 13:31:59 -07:00
SymbolsTest.cpp Create minimal remap table for symbol binary search. 2020-04-16 18:17:45 +01:00
TestLocal.cpp Add a specialized LocalUnwinder object. 2018-05-23 20:02:30 -07:00
TestUtils.cpp Add a few leak check tests. 2019-01-25 12:35:19 -08:00
TestUtils.h libunwindstack: Add Memory::ReadTag() function for reading memory tags. 2020-04-16 00:23:45 -07:00
UnwinderTest.cpp Add arch member into Unwinder object. 2020-09-24 18:46:23 -07:00
UnwindOfflineTest.cpp libunwindstack: Support signal frame CIEs. 2020-10-02 16:34:14 -07:00
UnwindTest.cpp Add arch member into Unwinder object. 2020-09-24 18:46:23 -07:00
VerifyBionicTerminationTest.cpp Add arch member into Unwinder object. 2020-09-24 18:46:23 -07:00