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 =

Reply via email to