/system/unwinding/libunwindstack/benchmarks/ |
D | local_unwind_benchmarks.cpp | 35 std::shared_ptr<unwindstack::Memory>& process_memory; member 72 unwindstack::Unwinder unwinder(kMaxFrames, data->maps, regs.get(), data->process_memory); in Unwind() 86 auto process_memory = unwindstack::Memory::CreateProcessMemory(getpid()); in BM_local_unwind_uncached_process_memory() local 92 UnwindData data = {.process_memory = process_memory, .maps = &maps, .resolve_names = true}; in BM_local_unwind_uncached_process_memory() 98 auto process_memory = unwindstack::Memory::CreateProcessMemoryCached(getpid()); in BM_local_unwind_cached_process_memory() local 104 UnwindData data = {.process_memory = process_memory, .maps = &maps, .resolve_names = true}; in BM_local_unwind_cached_process_memory() 110 auto process_memory = unwindstack::Memory::CreateProcessMemory(getpid()); in BM_local_unwind_local_updatable_maps_uncached() local 116 UnwindData data = {.process_memory = process_memory, .maps = &maps, .resolve_names = true}; in BM_local_unwind_local_updatable_maps_uncached() 122 auto process_memory = unwindstack::Memory::CreateProcessMemoryCached(getpid()); in BM_local_unwind_local_updatable_maps_cached() local 128 UnwindData data = {.process_memory = process_memory, .maps = &maps, .resolve_names = true}; in BM_local_unwind_local_updatable_maps_cached() [all …]
|
D | remote_unwind_benchmarks.cpp | 112 std::shared_ptr<unwindstack::Memory> process_memory; in RemoteUnwind() local 114 process_memory = unwindstack::Memory::CreateProcessMemoryCached(pid); in RemoteUnwind() 116 process_memory = unwindstack::Memory::CreateProcessMemory(pid); in RemoteUnwind() 125 unwindstack::Unwinder unwinder(32, &maps, regs.get(), process_memory); in RemoteUnwind()
|
/system/unwinding/libunwindstack/ |
D | MapInfo.cpp | 136 Memory* MapInfo::CreateMemory(const std::shared_ptr<Memory>& process_memory) { in CreateMemory() argument 156 if (process_memory == nullptr) { in CreateMemory() 167 std::unique_ptr<MemoryRange> memory(new MemoryRange(process_memory, start(), end() - start(), 0)); in CreateMemory() 181 ranges->Insert(new MemoryRange(process_memory, start(), end() - start(), 0)); in CreateMemory() 182 ranges->Insert(new MemoryRange(process_memory, next_real_map()->start(), in CreateMemory() 206 ranges->Insert(new MemoryRange(process_memory, prev_real_map()->start(), in CreateMemory() 208 ranges->Insert(new MemoryRange(process_memory, start(), end() - start(), elf_offset())); in CreateMemory() 213 Elf* MapInfo::GetElf(const std::shared_ptr<Memory>& process_memory, ArchEnum expected_arch) { in GetElf() argument 232 Memory* memory = CreateMemory(process_memory); in GetElf() 287 uint64_t MapInfo::GetLoadBias(const std::shared_ptr<Memory>& process_memory) { in GetLoadBias() argument [all …]
|
D | RegsX86.cpp | 53 bool RegsX86::SetPcFromReturnAddress(Memory* process_memory) { in SetPcFromReturnAddress() argument 56 if (!process_memory->ReadFully(regs_[X86_REG_SP], &new_pc, sizeof(new_pc)) || in SetPcFromReturnAddress() 115 bool RegsX86::StepIfSignalHandler(uint64_t elf_offset, Elf* elf, Memory* process_memory) { in StepIfSignalHandler() argument 136 if (!process_memory->ReadFully(regs_[X86_REG_SP] + 4, &context, sizeof(context))) { in StepIfSignalHandler() 161 if (!process_memory->ReadFully(regs_[X86_REG_SP] + 8, &ptr, sizeof(ptr))) { in StepIfSignalHandler() 166 if (!process_memory->ReadFully(ptr + 0x14, &x86_ucontext.uc_mcontext, sizeof(x86_mcontext_t))) { in StepIfSignalHandler()
|
D | ElfInterfaceArm.cpp | 103 bool ElfInterfaceArm::Step(uint64_t pc, Regs* regs, Memory* process_memory, bool* finished, in Step() argument 109 return ElfInterface32::Step(pc, regs, process_memory, finished, is_signal_frame) || in Step() 110 StepExidx(pc, regs, process_memory, finished); in Step() 113 bool ElfInterfaceArm::StepExidx(uint64_t pc, Regs* regs, Memory* process_memory, bool* finished) { in StepExidx() argument 127 ArmExidx arm(regs_arm, memory_, process_memory); in StepExidx()
|
D | RegsArm.cpp | 99 bool RegsArm::StepIfSignalHandler(uint64_t elf_offset, Elf* elf, Memory* process_memory) { in StepIfSignalHandler() argument 124 if (!process_memory->ReadFully(sp, &data, sizeof(data))) { in StepIfSignalHandler() 149 if (!process_memory->ReadFully(sp, &data, sizeof(data))) { in StepIfSignalHandler() 164 if (!process_memory->ReadFully(offset, regs_.data(), sizeof(uint32_t) * ARM_REG_LAST)) { in StepIfSignalHandler()
|
D | RegsX86_64.cpp | 54 bool RegsX86_64::SetPcFromReturnAddress(Memory* process_memory) { in SetPcFromReturnAddress() argument 57 if (!process_memory->ReadFully(regs_[X86_64_REG_SP], &new_pc, sizeof(new_pc)) || in SetPcFromReturnAddress() 135 bool RegsX86_64::StepIfSignalHandler(uint64_t elf_offset, Elf* elf, Memory* process_memory) { in StepIfSignalHandler() argument 156 if (!process_memory->ReadFully(regs_[X86_64_REG_SP] + 0x28, &x86_64_ucontext.uc_mcontext, in StepIfSignalHandler()
|
D | RegsMips64.cpp | 122 bool RegsMips64::StepIfSignalHandler(uint64_t elf_offset, Elf* elf, Memory* process_memory) { in StepIfSignalHandler() argument 143 if (!process_memory->Read(sp + 24 + 128 + 40, regs_.data(), in StepIfSignalHandler() 150 if (!process_memory->Read(sp + 24 + 128 + 40 + 576, ®s_[MIPS64_REG_PC], sizeof(uint64_t))) { in StepIfSignalHandler()
|
D | ArmExidx.h | 56 ArmExidx(RegsArm* regs, Memory* elf_memory, Memory* process_memory) in ArmExidx() argument 57 : regs_(regs), elf_memory_(elf_memory), process_memory_(process_memory) {} in ArmExidx()
|
D | ElfInterfaceArm.h | 75 bool Step(uint64_t pc, Regs* regs, Memory* process_memory, bool* finished, 78 bool StepExidx(uint64_t pc, Regs* regs, Memory* process_memory, bool* finished);
|
/system/core/debuggerd/libdebuggerd/ |
D | scudo.cpp | 28 std::unique_ptr<char[]> AllocAndReadFully(unwindstack::Memory* process_memory, uint64_t addr, in AllocAndReadFully() argument 31 if (!process_memory->ReadFully(addr, buf.get(), size)) { in AllocAndReadFully() 37 ScudoCrashData::ScudoCrashData(unwindstack::Memory* process_memory, in ScudoCrashData() argument 43 auto stack_depot = AllocAndReadFully(process_memory, process_info.scudo_stack_depot, in ScudoCrashData() 45 auto region_info = AllocAndReadFully(process_memory, process_info.scudo_region_info, in ScudoCrashData() 47 auto ring_buffer = AllocAndReadFully(process_memory, process_info.scudo_ring_buffer, in ScudoCrashData() 65 process_memory->ReadFully(i, memory.get() + i - memory_begin, PAGE_SIZE); in ScudoCrashData() 70 memory_tags[(i - memory_begin) / kTagGranuleSize] = process_memory->ReadTag(i); in ScudoCrashData()
|
D | gwp_asan.cpp | 33 static bool retrieve_gwp_asan_state(unwindstack::Memory* process_memory, uintptr_t state_addr, in retrieve_gwp_asan_state() argument 35 return process_memory->ReadFully(state_addr, state, sizeof(*state)); in retrieve_gwp_asan_state() 44 unwindstack::Memory* process_memory, const gwp_asan::AllocatorState& state, in retrieve_gwp_asan_metadata() argument 56 if (!process_memory->ReadFully(metadata_addr, meta, in retrieve_gwp_asan_metadata() 68 GwpAsanCrashData::GwpAsanCrashData(unwindstack::Memory* process_memory, in GwpAsanCrashData() argument 70 if (!process_memory || !process_info.gwp_asan_metadata || !process_info.gwp_asan_state) return; in GwpAsanCrashData() 72 if (!retrieve_gwp_asan_state(process_memory, process_info.gwp_asan_state, &state_)) return; in GwpAsanCrashData() 73 …metadata_.reset(retrieve_gwp_asan_metadata(process_memory, state_, process_info.gwp_asan_metadata)… in GwpAsanCrashData()
|
D | tombstone.cpp | 154 const ProcessInfo& process_info, unwindstack::Memory* process_memory) { in dump_signal_info() argument 162 process_memory->Read(addr, &instruction, sizeof(instruction)); in dump_signal_info() 209 static void dump_abort_message(log_t* log, unwindstack::Memory* process_memory, uint64_t address) { in dump_abort_message() argument 215 if (!process_memory->ReadFully(address, &length, sizeof(length))) { in dump_abort_message() 230 if (!process_memory->ReadFully(address + sizeof(length), &msg[0], length)) { in dump_abort_message() 258 std::shared_ptr<unwindstack::Memory>& process_memory = unwinder->GetProcessMemory(); in dump_all_maps() local 300 uint64_t load_bias = map_info->GetLoadBias(process_memory); in dump_all_maps() 596 auto process_memory = in engrave_tombstone_ucontext() local 598 unwinder.SetProcessMemory(process_memory); in engrave_tombstone_ucontext()
|
/system/unwinding/libunwindstack/include/unwindstack/ |
D | Unwinder.h | 68 Unwinder(size_t max_frames, Maps* maps, Regs* regs, std::shared_ptr<Memory> process_memory) in Unwinder() argument 72 process_memory_(process_memory), in Unwinder() 74 Unwinder(size_t max_frames, Maps* maps, std::shared_ptr<Memory> process_memory) in Unwinder() argument 75 : max_frames_(max_frames), maps_(maps), process_memory_(process_memory) {} in Unwinder() 134 std::shared_ptr<Memory> process_memory, bool resolve_names); 177 void SetProcessMemory(std::shared_ptr<Memory>& process_memory) { in SetProcessMemory() argument 178 process_memory_ = process_memory; in SetProcessMemory()
|
D | RegsMips64.h | 39 bool SetPcFromReturnAddress(Memory* process_memory) override; 41 bool StepIfSignalHandler(uint64_t elf_offset, Elf* elf, Memory* process_memory) override;
|
D | RegsMips.h | 39 bool SetPcFromReturnAddress(Memory* process_memory) override; 41 bool StepIfSignalHandler(uint64_t elf_offset, Elf* elf, Memory* process_memory) override;
|
D | RegsArm.h | 39 bool SetPcFromReturnAddress(Memory* process_memory) override; 41 bool StepIfSignalHandler(uint64_t elf_offset, Elf* elf, Memory* process_memory) override;
|
D | RegsX86.h | 40 bool SetPcFromReturnAddress(Memory* process_memory) override; 42 bool StepIfSignalHandler(uint64_t elf_offset, Elf* elf, Memory* process_memory) override;
|
D | RegsX86_64.h | 40 bool SetPcFromReturnAddress(Memory* process_memory) override; 42 bool StepIfSignalHandler(uint64_t elf_offset, Elf* elf, Memory* process_memory) override;
|
D | RegsArm64.h | 40 bool SetPcFromReturnAddress(Memory* process_memory) override; 42 bool StepIfSignalHandler(uint64_t elf_offset, Elf* elf, Memory* process_memory) override;
|
D | MapInfo.h | 131 Elf* GetElf(const std::shared_ptr<Memory>& process_memory, ArchEnum expected_arch); 133 uint64_t GetLoadBias(const std::shared_ptr<Memory>& process_memory); 135 Memory* CreateMemory(const std::shared_ptr<Memory>& process_memory);
|
D | Regs.h | 74 virtual bool StepIfSignalHandler(uint64_t elf_offset, Elf* elf, Memory* process_memory) = 0; 76 virtual bool SetPcFromReturnAddress(Memory* process_memory) = 0;
|
D | Elf.h | 62 bool StepIfSignalHandler(uint64_t rel_pc, Regs* regs, Memory* process_memory); 64 bool Step(uint64_t rel_pc, Regs* regs, Memory* process_memory, bool* finished,
|
/system/unwinding/libunwindstack/tests/ |
D | MemoryRangeTest.cpp | 76 std::shared_ptr<Memory> process_memory(new MemoryFakeAlwaysReadZero); in TEST_F() local 77 std::unique_ptr<MemoryRange> overflow(new MemoryRange(process_memory, 100, 200, 0)); in TEST_F()
|
/system/core/debuggerd/libdebuggerd/include/libdebuggerd/ |
D | scudo.h | 33 ScudoCrashData(unwindstack::Memory* process_memory, const ProcessInfo& process_info);
|