Module Name: src
Committed By: kamil
Date: Mon Sep 14 11:56:01 UTC 2020
Modified Files:
src/external/gpl3/gcc/dist/libsanitizer/tsan: tsan_interceptors.cc
Log Message:
Catch unsupported LONG_JMP_SP_ENV_SLOT
A variation of this patch is pending upstream: https://reviews.llvm.org/D87602
To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 \
src/external/gpl3/gcc/dist/libsanitizer/tsan/tsan_interceptors.cc
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/gpl3/gcc/dist/libsanitizer/tsan/tsan_interceptors.cc
diff -u src/external/gpl3/gcc/dist/libsanitizer/tsan/tsan_interceptors.cc:1.11 src/external/gpl3/gcc/dist/libsanitizer/tsan/tsan_interceptors.cc:1.12
--- src/external/gpl3/gcc/dist/libsanitizer/tsan/tsan_interceptors.cc:1.11 Sat Sep 12 22:23:57 2020
+++ src/external/gpl3/gcc/dist/libsanitizer/tsan/tsan_interceptors.cc Mon Sep 14 11:56:01 2020
@@ -497,12 +497,16 @@ static void SetJmp(ThreadState *thr, upt
}
static void LongJmp(ThreadState *thr, uptr *env) {
-#ifdef __powerpc__
+#if SANITIZER_NETBSD
+# ifdef __x86_64__
+ uptr mangled_sp = env[6];
+# else
+# error Unsupported
+# endif
+#elif defined(__powerpc__)
uptr mangled_sp = env[0];
#elif SANITIZER_FREEBSD
uptr mangled_sp = env[2];
-#elif SANITIZER_NETBSD
- uptr mangled_sp = env[6];
#elif SANITIZER_MAC
# ifdef __aarch64__
uptr mangled_sp =