diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/asan/asan_errors.cpp | 3 | ||||
-rw-r--r-- | lib/lsan/lsan.cpp | 2 | ||||
-rw-r--r-- | lib/msan/msan.cpp | 2 | ||||
-rw-r--r-- | lib/tsan/rtl/tsan_rtl.cpp | 2 | ||||
-rw-r--r-- | lib/ubsan/ubsan_signals_standalone.cpp | 5 |
5 files changed, 8 insertions, 6 deletions
diff --git a/lib/asan/asan_errors.cpp b/lib/asan/asan_errors.cpp index 0ef97794b..541c6e035 100644 --- a/lib/asan/asan_errors.cpp +++ b/lib/asan/asan_errors.cpp @@ -35,7 +35,8 @@ static void OnStackUnwind(const SignalContext &sig, // corresponding code in the sanitizer_common and we use this callback to // print it. static_cast<const ScarinessScoreBase *>(callback_context)->Print(); - stack->Unwind(sig.pc, sig.bp, sig.context, fast); + stack->Unwind(StackTrace::GetNextInstructionPc(sig.pc), sig.bp, sig.context, + fast); } void ErrorDeadlySignal::Print() { diff --git a/lib/lsan/lsan.cpp b/lib/lsan/lsan.cpp index deabf044a..4ce03046f 100644 --- a/lib/lsan/lsan.cpp +++ b/lib/lsan/lsan.cpp @@ -89,7 +89,7 @@ static void InitializeFlags() { static void OnStackUnwind(const SignalContext &sig, const void *, BufferedStackTrace *stack) { - stack->Unwind(sig.pc, sig.bp, sig.context, + stack->Unwind(StackTrace::GetNextInstructionPc(sig.pc), sig.bp, sig.context, common_flags()->fast_unwind_on_fatal); } diff --git a/lib/msan/msan.cpp b/lib/msan/msan.cpp index da3534bc5..6ea63cb2c 100644 --- a/lib/msan/msan.cpp +++ b/lib/msan/msan.cpp @@ -378,7 +378,7 @@ void __msan_warning_noreturn() { static void OnStackUnwind(const SignalContext &sig, const void *, BufferedStackTrace *stack) { - stack->Unwind(sig.pc, sig.bp, sig.context, + stack->Unwind(StackTrace::GetNextInstructionPc(sig.pc), sig.bp, sig.context, common_flags()->fast_unwind_on_fatal); } diff --git a/lib/tsan/rtl/tsan_rtl.cpp b/lib/tsan/rtl/tsan_rtl.cpp index 39b9cea52..3f3c0cce1 100644 --- a/lib/tsan/rtl/tsan_rtl.cpp +++ b/lib/tsan/rtl/tsan_rtl.cpp @@ -338,7 +338,7 @@ static void CheckShadowMapping() { #if !SANITIZER_GO static void OnStackUnwind(const SignalContext &sig, const void *, BufferedStackTrace *stack) { - stack->Unwind(sig.pc, sig.bp, sig.context, + stack->Unwind(StackTrace::GetNextInstructionPc(sig.pc), sig.bp, sig.context, common_flags()->fast_unwind_on_fatal); } diff --git a/lib/ubsan/ubsan_signals_standalone.cpp b/lib/ubsan/ubsan_signals_standalone.cpp index 627b3c4d8..2c91db8ca 100644 --- a/lib/ubsan/ubsan_signals_standalone.cpp +++ b/lib/ubsan/ubsan_signals_standalone.cpp @@ -45,8 +45,9 @@ namespace __ubsan { static void OnStackUnwind(const SignalContext &sig, const void *, BufferedStackTrace *stack) { - ubsan_GetStackTrace(stack, kStackTraceMax, sig.pc, sig.bp, sig.context, - common_flags()->fast_unwind_on_fatal); + ubsan_GetStackTrace(stack, kStackTraceMax, + StackTrace::GetNextInstructionPc(sig.pc), sig.bp, + sig.context, common_flags()->fast_unwind_on_fatal); } static void UBsanOnDeadlySignal(int signo, void *siginfo, void *context) { |