/base/hiviewdfx/faultloggerd/interfaces/innerkits/unwinder/ |
H A D | dfx_regs.cpp | 155 void DfxRegs::GetSpecialRegs(uintptr_t& fp, uintptr_t& lr, uintptr_t& sp, uintptr_t& pc) const in GetSpecialRegs() argument 159 lr = regsData_[REG_LR]; in GetSpecialRegs() 165 void DfxRegs::SetSpecialRegs(uintptr_t fp, uintptr_t lr, uintptr_t sp, uintptr_t pc) in SetSpecialRegs() argument 169 regsData_[REG_LR] = lr; in SetSpecialRegs() 213 uintptr_t fp = 0, lr = 0, sp = 0, pc = 0; in GetSpecialRegsName() local 214 GetSpecialRegs(fp, lr, sp, pc); in GetSpecialRegsName() 217 } else if (val == lr) { in GetSpecialRegsName() 218 return "lr"; in GetSpecialRegsName() 234 return "lr"; in GetSpecialRegsNameByIndex() 248 uintptr_t fp = 0, lr in PrintSpecialRegs() local [all...] |
H A D | dfx_regs_arm.cpp | 92 regsData_[REG_LR] = regs[6]; // 6 : lr offset in SetFromQutMiniRegs() 97 uintptr_t lr = regsData_[REG_LR]; in SetPcFromReturnAddress() local 98 if (regsData_[REG_PC] == lr) { in SetPcFromReturnAddress() 101 regsData_[REG_PC] = lr; in SetPcFromReturnAddress() 119 BufferPrintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "fp:%08x ip:%08x sp:%08x lr:%08x pc:%08x\n", \ in PrintRegs()
|
H A D | dfx_regs_riscv64.cpp | 77 regsData_[REG_LR] = regs[1]; // 1 : lr offset in SetFromFpMiniRegs() 92 regsData_[REG_LR] = regs[6]; // 6 : lr offset in SetFromQutMiniRegs() 97 uintptr_t lr = regsData_[REG_LR]; in SetPcFromReturnAddress() local 98 if (regsData_[REG_PC] == lr) { in SetPcFromReturnAddress() 101 regsData_[REG_PC] = lr; in SetPcFromReturnAddress() 134 BufferPrintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "lr:%016lx sp:%016lx pc:%016lx\n", \ in PrintRegs()
|
H A D | dfx_regs_arm64.cpp | 77 regsData_[REG_LR] = regs[1]; // 1 : lr offset in SetFromFpMiniRegs() 92 regsData_[REG_LR] = regs[6]; // 6 : lr offset in SetFromQutMiniRegs() 97 uintptr_t lr = regsData_[REG_LR]; in SetPcFromReturnAddress() local 98 if (regsData_[REG_PC] == lr) { in SetPcFromReturnAddress() 101 regsData_[REG_PC] = lr; in SetPcFromReturnAddress() 134 BufferPrintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "lr:%016lx sp:%016lx pc:%016lx\n", \ in PrintRegs()
|
H A D | unwinder.cpp | 1029 auto lr = *(regs_->GetReg(REG_LR)); in StepInner() local 1034 regs_->SetPc(lr); in StepInner() 1037 DFXLOGW("Failed to apply first frame, lr fallback"); in StepInner() 1045 DFXLOGW("Failed to step first frame, lr fallback"); in StepInner()
|
/base/hiviewdfx/hicollie/frameworks/native/thread_sampler/ |
H A D | thread_sampler_utils.cpp | 82 regs->SetReg(REG_LR, &(unwindInfo.context->lr)); in DoUnwind()
|
H A D | thread_sampler.cpp | 346 contextArray[index].lr = static_cast<ucontext_t*>(context)->uc_mcontext.regs[RegsEnumArm64::REG_LR];
in WriteContext()
|
/base/hiviewdfx/faultloggerd/interfaces/innerkits/unwinder/include/ |
H A D | dfx_regs.h | 64 void GetSpecialRegs(uintptr_t& fp, uintptr_t& lr, uintptr_t& sp, uintptr_t& pc) const; 65 void SetSpecialRegs(uintptr_t fp, uintptr_t lr, uintptr_t sp, uintptr_t pc);
|
/base/hiviewdfx/faultloggerd/test/unittest/unwind/ |
H A D | regs_test.cpp | 92 uintptr_t lr = 0x00000002; in HWTEST_F() local 95 dfxRegs->SetSpecialRegs(fp, lr, sp, pc); in HWTEST_F() 96 ASSERT_EQ(dfxRegs->GetSpecialRegsName(lr), "lr"); in HWTEST_F() 107 ASSERT_EQ(lr, lrGet); in HWTEST_F() 114 ASSERT_EQ(dfxRegs->GetSpecialRegsNameByIndex(REG_LR), "lr"); in HWTEST_F()
|
H A D | unwinder_test.cpp | 565 * @tc.desc: test unwinder Step interface in lr callback with apply failed case 589 uintptr_t lr = *(regs->GetReg(REG_LR)); in HWTEST_F() local 597 ASSERT_EQ(lr, pc) << "StepTest005: lr callback"; in HWTEST_F() 603 * @tc.desc: test unwinder Step interface in lr callback with step failed case 627 uintptr_t lr = *(regs->GetReg(REG_LR)); in HWTEST_F() local 633 ASSERT_EQ(lr, failPc) << "StepTest006: lr callback"; in HWTEST_F()
|
/base/hiviewdfx/hicollie/frameworks/native/thread_sampler/include/ |
H A D | thread_sampler.h | 44 uintptr_t lr {0};
|