/system/core/libunwindstack/ |
D | LocalUnwinder.cpp | 105 uint64_t rel_pc = elf->GetRelPc(cur_pc, map_info); in Unwind() local 106 uint64_t step_pc = rel_pc; in Unwind() 109 pc_adjustment = GetPcAdjustment(rel_pc, elf, arch); in Unwind() 116 if (elf->StepIfSignalHandler(rel_pc, regs.get(), process_memory_.get())) { in Unwind() 117 step_pc = rel_pc; in Unwind() 127 if (elf->GetFunctionName(rel_pc, &func_name, &func_offset)) { in Unwind() 128 frame_info->emplace_back(map_info, cur_pc - pc_adjustment, rel_pc - pc_adjustment, in Unwind() 131 frame_info->emplace_back(map_info, cur_pc - pc_adjustment, rel_pc - pc_adjustment, "", 0); in Unwind()
|
D | Regs.cpp | 124 uint64_t GetPcAdjustment(uint64_t rel_pc, Elf* elf, ArchEnum arch) { in GetPcAdjustment() argument 132 if (rel_pc < load_bias) { in GetPcAdjustment() 133 if (rel_pc < 2) { in GetPcAdjustment() 138 uint64_t adjusted_rel_pc = rel_pc - load_bias; in GetPcAdjustment() 157 if (rel_pc < 4) { in GetPcAdjustment() 164 if (rel_pc < 8) { in GetPcAdjustment() 172 if (rel_pc == 0) { in GetPcAdjustment()
|
D | Unwinder.cpp | 75 frame->rel_pc = dex_pc - info->start; in FillInDexFrame() 77 frame->rel_pc = dex_pc; in FillInDexFrame() 95 FrameData* Unwinder::FillInFrame(MapInfo* map_info, Elf* elf, uint64_t rel_pc, in FillInFrame() argument 102 frame->rel_pc = rel_pc - pc_adjustment; in FillInFrame() 160 uint64_t rel_pc; in Unwind() local 164 rel_pc = step_pc; in Unwind() 178 rel_pc = elf->GetRelPc(step_pc, map_info); in Unwind() 181 step_pc = rel_pc; in Unwind() 184 pc_adjustment = GetPcAdjustment(rel_pc, elf, arch); in Unwind() 220 frame = FillInFrame(map_info, elf, rel_pc, pc_adjustment); in Unwind() [all …]
|
D | Elf.cpp | 178 bool Elf::StepIfSignalHandler(uint64_t rel_pc, Regs* regs, Memory* process_memory) { in StepIfSignalHandler() argument 184 if (rel_pc < static_cast<uint64_t>(load_bias_)) { in StepIfSignalHandler() 187 return regs->StepIfSignalHandler(rel_pc - load_bias_, this, process_memory); in StepIfSignalHandler() 191 bool Elf::Step(uint64_t rel_pc, Regs* regs, Memory* process_memory, bool* finished) { in Step() argument 198 return interface_->Step(rel_pc, regs, process_memory, finished); in Step()
|
/system/core/libunwindstack/include/unwindstack/ |
D | LocalUnwinder.h | 39 LocalFrameData(MapInfo* map_info, uint64_t pc, uint64_t rel_pc, const std::string& function_name, in LocalFrameData() 43 rel_pc(rel_pc), in LocalFrameData() 49 uint64_t rel_pc; member
|
D | Elf.h | 70 bool StepIfSignalHandler(uint64_t rel_pc, Regs* regs, Memory* process_memory); 72 bool Step(uint64_t rel_pc, Regs* regs, Memory* process_memory, bool* finished);
|
D | Unwinder.h | 43 uint64_t rel_pc; member 128 FrameData* FillInFrame(MapInfo* map_info, Elf* elf, uint64_t rel_pc, uint64_t pc_adjustment);
|
D | Regs.h | 115 uint64_t GetPcAdjustment(uint64_t rel_pc, Elf* elf, ArchEnum arch);
|
D | ElfInterface.h | 67 virtual bool Step(uint64_t rel_pc, Regs* regs, Memory* process_memory, bool* finished);
|
/system/core/libunwindstack/tests/ |
D | VerifyBionicTerminationTest.cpp | 48 static DwarfLocationEnum GetReturnAddressLocation(uint64_t rel_pc, DwarfSection* section) { in GetReturnAddressLocation() argument 53 const DwarfFde* fde = section->GetFdeFromPc(rel_pc); in GetReturnAddressLocation() 58 if (!section->GetCfaLocationInfo(rel_pc, fde, ®s, ARCH_UNKNOWN)) { in GetReturnAddressLocation() 81 DwarfLocationEnum location = GetReturnAddressLocation(frame.rel_pc, interface->debug_frame()); in VerifyReturnAddress() 86 location = GetReturnAddressLocation(frame.rel_pc, interface->eh_frame()); in VerifyReturnAddress()
|
D | UnwinderTest.cpp | 177 EXPECT_EQ(0U, frame->rel_pc); in TEST_F() 192 EXPECT_EQ(0x100U, frame->rel_pc); in TEST_F() 207 EXPECT_EQ(0x200U, frame->rel_pc); in TEST_F() 242 EXPECT_EQ(0U, frame->rel_pc); in TEST_F() 257 EXPECT_EQ(0x100U, frame->rel_pc); in TEST_F() 272 EXPECT_EQ(0x200U, frame->rel_pc); in TEST_F() 302 EXPECT_EQ(0x5500U, frame->rel_pc); in TEST_F() 332 EXPECT_EQ(0x8500U, frame->rel_pc); in TEST_F() 362 EXPECT_EQ(0U, frame->rel_pc); in TEST_F() 393 EXPECT_EQ(0U, frame->rel_pc); in TEST_F() [all …]
|
D | LocalUnwinderTest.cpp | 59 frame.pc, frame.rel_pc); in ErrorMsg()
|
D | RegsTest.cpp | 95 TEST_F(RegsTest, rel_pc) { in TEST_F() argument
|
D | ElfTest.cpp | 271 TEST_F(ElfTest, rel_pc) { in TEST_F() argument
|
/system/core/libbacktrace/ |
D | UnwindStack.cpp | 115 back_frame->rel_pc = frame->rel_pc; in Unwind()
|
D | Backtrace.cpp | 106 std::string line(StringPrintf("#%02zu pc %" PRIPTR " ", frame->num, frame->rel_pc)); in FormatFrameData()
|
D | backtrace_test.cpp | 828 frame.rel_pc = 2; in TEST_F() 844 frame.rel_pc = 0x20; in TEST_F() 870 frame.rel_pc = 0x12345678; in TEST_F() 900 frame.rel_pc = 0x123456dc; in TEST_F()
|
/system/core/libbacktrace/include/backtrace/ |
D | Backtrace.h | 87 uint64_t rel_pc; // The relative pc. member
|