diff options
author | Vitaly Buka <vitalybuka@google.com> | 2019-10-02 21:20:37 +0000 |
---|---|---|
committer | Vitaly Buka <vitalybuka@google.com> | 2019-10-02 21:20:37 +0000 |
commit | d39e7e2cf156f5f444637fb3d26e98d33b1bfc19 (patch) | |
tree | 04f2a2b3e3a87f2b799d2d40b5a029619d19f482 /compiler-rt/lib/asan | |
parent | 59bf75caabe4edaeff3754feb58fc70b11520f9b (diff) | |
download | bcm5719-llvm-d39e7e2cf156f5f444637fb3d26e98d33b1bfc19.tar.gz bcm5719-llvm-d39e7e2cf156f5f444637fb3d26e98d33b1bfc19.zip |
[compiler-rt] Use GetNextInstructionPc in signal handlers
Summary:
All other stack trace callers assume that PC contains return address.
HWAsan already use GetNextInstructionPc in similar code.
PR43339
Reviewers: eugenis, kcc, jfb
Subscribers: dexonsmith, dberris, #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D68313
llvm-svn: 373529
Diffstat (limited to 'compiler-rt/lib/asan')
-rw-r--r-- | compiler-rt/lib/asan/asan_errors.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler-rt/lib/asan/asan_errors.cpp b/compiler-rt/lib/asan/asan_errors.cpp index 0ef97794be3..541c6e0353b 100644 --- a/compiler-rt/lib/asan/asan_errors.cpp +++ b/compiler-rt/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() { |