android_system_core/libunwindstack/tests
Christopher Ferris 4ca98e18a4 Fix potential bad info in eh_frame_hdr.
Due to a bug, an elf can have FDEs with a length of zero, while still
having another FDE for the same pc with a non-zero length. The
eh_frame_hdr can sometimes point to the zero length FDE, but it should
have pointed to the non-zero length FDE. In order to fix this, if the
eh_frame_hdr points at the zero length FDE then try and find the real FDE
directly from eh_frame.

The change cleans up and removes unused variables from DwarfEhFrameWithHdr
and changes the objects so that all of the DwarfSection objects and
DwarfEhFrameWithHdr object inherit from the same class.

Add new unit tests to verify this functionality.

Bug: 142483624

Test: Unit tests all pass.
Change-Id: I128a916e3ba378931de7d44ee15e57e24d4073df
2019-10-29 18:39:30 -07:00
..
files Fix handling of PT_GNU_EH_FRAME. 2019-10-21 19:11:22 -07:00
ArmExidxDecodeTest.cpp Switch case to suite to follow new gtest naming. 2019-06-20 16:18:57 -07: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 Revert "Check for data races when reading JIT/DEX entries." 2019-04-05 18:23:32 +00:00
DexFileTest.cpp Revert "Check for data races when reading JIT/DEX entries." 2019-04-05 18:23:32 +00:00
DwarfCfaLogTest.cpp Switch case to suite to follow new gtest naming. 2019-06-20 16:18:57 -07:00
DwarfCfaTest.cpp Switch case to suite to follow new gtest naming. 2019-06-20 16:18:57 -07:00
DwarfDebugFrameTest.cpp Switch case to suite to follow new gtest naming. 2019-06-20 16:18:57 -07:00
DwarfEhFrameTest.cpp Switch case to suite to follow new gtest naming. 2019-06-20 16:18:57 -07:00
DwarfEhFrameWithHdrTest.cpp Fix potential bad info in eh_frame_hdr. 2019-10-29 18:39:30 -07:00
DwarfMemoryTest.cpp Remove CHECK in AdjustEncodedValue. 2018-12-20 08:40:58 -08:00
DwarfOpLogTest.cpp Switch case to suite to follow new gtest naming. 2019-06-20 16:18:57 -07:00
DwarfOpTest.cpp Switch case to suite to follow new gtest naming. 2019-06-20 16:18:57 -07:00
DwarfSectionImplTest.cpp Handle when bias is different in elf headers. 2019-10-08 17:36:06 +00:00
DwarfSectionTest.cpp Replace MOCK_METHODN with MOCK_METHOD macro. 2019-10-11 14:30:18 -07:00
ElfCacheTest.cpp Switch case to suite to follow new gtest naming. 2019-06-20 16:18:57 -07:00
ElfFake.cpp Fix handling of load bias values. 2018-06-11 18:53:55 -07:00
ElfFake.h Handle when bias is different in elf headers. 2019-10-08 17:36:06 +00:00
ElfInterfaceArmTest.cpp Remove Memory::ReadField. 2018-07-12 12:45:31 -07:00
ElfInterfaceTest.cpp Fix handling of PT_GNU_EH_FRAME. 2019-10-21 19:11:22 -07:00
ElfTest.cpp Replace MOCK_METHODN with MOCK_METHOD macro. 2019-10-11 14:30:18 -07:00
ElfTestUtils.cpp
ElfTestUtils.h
GenGnuDebugdata.cpp
IsolatedSettings.cpp Move to isolated testing. 2019-07-17 18:08:32 -07:00
JitDebugTest.cpp Revert "Check for data races when reading JIT/DEX entries." 2019-04-05 18:23:32 +00:00
LocalUnwinderTest.cpp Add test mapping to run the libunwind tests. 2019-09-03 13:32:51 -07:00
LocalUpdatableMapsTest.cpp Fix LocalUpdatableMaps 2019-09-16 18:28:38 -07:00
LogFake.cpp
LogFake.h
MapInfoCreateMemoryTest.cpp Move to isolated testing. 2019-07-17 18:08:32 -07:00
MapInfoGetBuildIDTest.cpp Avoid signed extension of chars for build ids. 2019-01-30 12:09:11 -08:00
MapInfoGetElfTest.cpp Add support for displaying soname in an apk. 2019-03-13 17:07:46 -07:00
MapInfoGetLoadBiasTest.cpp Handle when bias is different in elf headers. 2019-10-08 17:36:06 +00:00
MapInfoTest.cpp Handle when bias is different in elf headers. 2019-10-08 17:36:06 +00:00
MapsTest.cpp Fix copy / move behaviour of Maps object. 2019-03-05 13:05:36 +00: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
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 Internalize subclasses of Memory 2019-06-11 12:09:18 -07:00
MemoryTest.cpp Remove Memory::ReadField. 2018-07-12 12:45:31 -07:00
RegsFake.h Add BuildId to frame information. 2019-03-26 08:04:40 -07:00
RegsInfoTest.cpp Fix off by one error. 2018-10-23 18:10:41 +01:00
RegsIterateTest.cpp Switch case to suite to follow new gtest naming. 2019-06-20 16:18:57 -07:00
RegsStepIfSignalHandlerTest.cpp Always set the sp reg to the cfa for DWARF. 2018-03-16 23:38:07 -07:00
RegsTest.cpp Fix offsets when shared lib split across maps. 2018-12-18 11:22:14 -08:00
SymbolsTest.cpp Switch case to suite to follow new gtest naming. 2019-06-20 16:18:57 -07: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 Add a few leak check tests. 2019-01-25 12:35:19 -08:00
UnwinderTest.cpp Switch case to suite to follow new gtest naming. 2019-06-20 16:18:57 -07:00
UnwindOfflineTest.cpp Fix handling of PT_GNU_EH_FRAME. 2019-10-21 19:11:22 -07:00
UnwindTest.cpp Internalize subclasses of Memory 2019-06-11 12:09:18 -07:00
VerifyBionicTerminationTest.cpp Add test of undefined return address. 2019-08-30 23:29:34 -07:00