platform_system_core/libunwindstack
Christopher Ferris b7de5f5429 Demand read load bias for a map.
Add a static GetLoadBias method to the Elf object that only reads just
enough to get the load bias.

Add a method to MapInfo that gets the load bias. First attempt to get
it if the elf object already exists. If no elf object was created, use
the new static method to get the load bias.

In BacktraceMap, add a custom iterator so that when code dereferences
a map element, that's when the load bias will be retrieved if it hasn't
already been set.

Bug: 69871050

Test: New unit tests, verify tombstones have non-zero load bias values for
Test: libraries with a non-zero load bias.
Change-Id: I125f4abc827589957fce2f0df24b0f25d037d732
2017-12-05 13:12:47 -08:00
..
include/unwindstack Demand read load bias for a map. 2017-12-05 13:12:47 -08:00
tests Demand read load bias for a map. 2017-12-05 13:12:47 -08:00
tools Add way to specify an offset in an elf file. 2017-11-28 10:59:33 -08:00
.clang-format Use the 2 space clang format for libunwindstack. 2017-03-21 10:41:45 -07:00
Android.bp Demand read load bias for a map. 2017-12-05 13:12:47 -08:00
ArmExidx.cpp Make the library usable as a library. 2017-07-14 12:20:23 -07:00
ArmExidx.h Make the library usable as a library. 2017-07-14 12:20:23 -07: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 Fix another nullptr dereference. 2017-11-08 11:04:48 -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 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 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 unwindstack: rename Memory::Read to ReadFully. 2017-11-15 15:38:13 -08:00
Elf.cpp Demand read load bias for a map. 2017-12-05 13:12:47 -08:00
ElfInterface.cpp Demand read load bias for a map. 2017-12-05 13:12:47 -08:00
ElfInterfaceArm.cpp If the pc is set to zero, the unwind is done. 2017-10-23 14:55:16 -07:00
ElfInterfaceArm.h Multiple bugfixes, small restructuring. 2017-10-20 11:15:32 -07:00
Log.cpp Make the library usable as a library. 2017-07-14 12:20:23 -07:00
Machine.h Make the library usable as a library. 2017-07-14 12:20:23 -07:00
MapInfo.cpp Demand read load bias for a map. 2017-12-05 13:12:47 -08:00
Maps.cpp Fix incorrect usage of relative pcs. 2017-11-29 16:10:08 -08:00
Memory.cpp Switch MemoryRemote to use ptrace. 2017-12-04 14:27:34 -08:00
Regs.cpp unwindstack: rename Memory::Read to ReadFully. 2017-11-15 15:38:13 -08:00
Symbols.cpp unwindstack: rename Memory::Read to ReadFully. 2017-11-15 15:38:13 -08:00
Symbols.h Make the library usable as a library. 2017-07-14 12:20:23 -07:00
Ucontext.h Add signal handling to the register object. 2017-07-18 17:27:48 -07:00
Unwinder.cpp Fix incorrect usage of relative pcs. 2017-11-29 16:10:08 -08:00
User.h Make the library usable as a library. 2017-07-14 12:20:23 -07:00