diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp --- a/compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp +++ b/compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp @@ -801,10 +801,7 @@ # endif } -void SignalContext::InitPcSpBp() { - addr = (uptr)ptrauth_strip((void *)addr, 0); - GetPcSpBp(context, &pc, &sp, &bp); -} +void SignalContext::InitPcSpBp() { GetPcSpBp(context, &pc, &sp, &bp); } void InitializePlatformEarly() { // Only use xnu_fast_mmap when on x86_64 and the OS supports it. diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_posix.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_posix.cpp --- a/compiler-rt/lib/sanitizer_common/sanitizer_posix.cpp +++ b/compiler-rt/lib/sanitizer_common/sanitizer_posix.cpp @@ -21,6 +21,7 @@ #include "sanitizer_libc.h" #include "sanitizer_posix.h" #include "sanitizer_procmaps.h" +#include "sanitizer_ptrauth.h" #include #include @@ -288,7 +289,7 @@ uptr SignalContext::GetAddress() const { auto si = static_cast(siginfo); - return (uptr)si->si_addr; + return (uptr)ptrauth_strip(si->si_addr, 0); } bool SignalContext::IsMemoryAccess() const {