Lines Matching refs:uc
363 static AccessInfo GetAccessInfo(siginfo_t *info, ucontext_t *uc) { in GetAccessInfo() argument
380 const uptr addr = uc->uc_mcontext.regs[0]; in GetAccessInfo()
384 const uptr size = size_log == 0xf ? uc->uc_mcontext.regs[1] : 1U << size_log; in GetAccessInfo()
390 uptr pc = (uptr)uc->uc_mcontext.gregs[REG_RIP]; in GetAccessInfo()
399 const uptr addr = uc->uc_mcontext.gregs[REG_RDI]; in GetAccessInfo()
404 size_log == 0xf ? uc->uc_mcontext.gregs[REG_RSI] : 1U << size_log; in GetAccessInfo()
410 uptr pc = (uptr)uc->uc_mcontext.__gregs[REG_PC]; in GetAccessInfo()
438 const uptr addr = uc->uc_mcontext.__gregs[10]; in GetAccessInfo()
445 size_log == 0xf ? uc->uc_mcontext.__gregs[11] : 1U << size_log; in GetAccessInfo()
454 static bool HwasanOnSIGTRAP(int signo, siginfo_t *info, ucontext_t *uc) { in HwasanOnSIGTRAP() argument
455 AccessInfo ai = GetAccessInfo(info, uc); in HwasanOnSIGTRAP()
459 SignalContext sig{info, uc}; in HwasanOnSIGTRAP()
460 HandleTagMismatch(ai, StackTrace::GetNextInstructionPc(sig.pc), sig.bp, uc); in HwasanOnSIGTRAP()
463 uc->uc_mcontext.pc += 4; in HwasanOnSIGTRAP()
467 uint8_t *exception_source = (uint8_t *)(uc->uc_mcontext.__gregs[REG_PC]); in HwasanOnSIGTRAP()
477 uc->uc_mcontext.__gregs[REG_PC] += isFaultShort ? 2 : 4; in HwasanOnSIGTRAP()