android_system_core/libunwindstack
Christopher Ferris 9d5712c123 Implement support for linker rosegment option.
The rosegment linker option results in two maps containing the elf data
existing. One is an execute map where the code lives, and the other is the
read-only segment which contains the elf header information. If the file
backing a shared library in memory is not readable, then the new code
will attempt to find the read-only map that has the same name as the
current execute segment, and that is at offest zero in the file.

Add new unit tests for this functionality.

Add the missing MapInfoCreateMemoryTest.cpp to the list of tests.

Bug: 109657296

Test: Pass new unit tests.
Test: All unit libbacktrace/libunwindstack tests pass with rosegment enabled.
Change-Id: If8f69e4a067d77b3f2a7c31e2e5cd989a0702a8c
2018-10-03 20:48:45 -07:00
..
include/unwindstack Implement support for linker rosegment option. 2018-10-03 20:48:45 -07:00
tests Implement support for linker rosegment option. 2018-10-03 20:48:45 -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 Implement support for linker rosegment option. 2018-10-03 20:48:45 -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 Move to using ClassAccessor 2018-08-08 11:04:15 -07:00
DexFile.h Move to using ClassAccessor 2018-08-08 11:04:15 -07:00
DexFiles.cpp Adjust DEX file reading to follow layout changes in ART. 2018-02-16 14:54:49 +00:00
DwarfCfa.cpp Suppress implicit-fallthrough warnings. 2018-09-17 16:50:11 +00: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 Fix implicit fall through switch cases. 2018-09-19 14:12:59 -07:00
Elf.cpp Fix handling of load bias values. 2018-06-11 18:53:55 -07:00
ElfInterface.cpp Be permissive about badly formed elf files. 2018-08-03 22:02:05 +00:00
ElfInterfaceArm.cpp Remove Memory::ReadField. 2018-07-12 12:45:31 -07:00
ElfInterfaceArm.h Remove Memory::ReadField. 2018-07-12 12:45:31 -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 Implement support for linker rosegment option. 2018-10-03 20:48:45 -07:00
Maps.cpp Implement support for linker rosegment option. 2018-10-03 20:48:45 -07:00
Memory.cpp Implement support for linker rosegment option. 2018-10-03 20:48:45 -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 Fix incorrect left shifts. 2018-08-02 18:01:02 -07: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