diff options
| author | Kamil Rytarowski <n54@gmx.com> | 2017-11-28 11:21:27 +0000 |
|---|---|---|
| committer | Kamil Rytarowski <n54@gmx.com> | 2017-11-28 11:21:27 +0000 |
| commit | b789ab35b3616d52a7c643f1979df41183b70240 (patch) | |
| tree | 7637cf915219706fa39165882a235b269b43dc4e | |
| parent | bc8cc867a1ed3219fea6c87eda9106689dd2c932 (diff) | |
| download | bcm5719-llvm-b789ab35b3616d52a7c643f1979df41183b70240.tar.gz bcm5719-llvm-b789ab35b3616d52a7c643f1979df41183b70240.zip | |
Correct mangled_sp on NetBSD/amd64 in TSan
The proper index is 6, not 2.
Patch extracted from https://reviews.llvm.org/D40337
Reviewed and accepted by <dvyukov>.
Sponsored by <The NetBSD Foundation>
llvm-svn: 319163
| -rw-r--r-- | compiler-rt/lib/tsan/rtl/tsan_interceptors.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc b/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc index f14b3c49640..b98c60d2246 100644 --- a/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc +++ b/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc @@ -502,15 +502,17 @@ static void SetJmp(ThreadState *thr, uptr sp, uptr mangled_sp) { static void LongJmp(ThreadState *thr, uptr *env) { #ifdef __powerpc__ uptr mangled_sp = env[0]; -#elif SANITIZER_FREEBSD || SANITIZER_NETBSD +#elif SANITIZER_FREEBSD uptr mangled_sp = env[2]; +#elif SANITIZER_NETBSD + uptr mangled_sp = env[6]; #elif SANITIZER_MAC # ifdef __aarch64__ uptr mangled_sp = env[13]; # else uptr mangled_sp = env[2]; # endif -#elif defined(SANITIZER_LINUX) +#elif SANITIZER_LINUX # ifdef __aarch64__ uptr mangled_sp = env[13]; # elif defined(__mips64) |

