[compiler-rt] r315227 - [sanitizer] Don't intercept signal and sigaction on Fuchsia

Petr Hosek via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 9 11:29:52 PDT 2017


Author: phosek
Date: Mon Oct  9 11:29:52 2017
New Revision: 315227

URL: http://llvm.org/viewvc/llvm-project?rev=315227&view=rev
Log:
[sanitizer] Don't intercept signal and sigaction on Fuchsia

Fuchsia doesn't support signals, so don't use interceptors for signal or
sigaction.

Differential Revision: https://reviews.llvm.org/D38669

Modified:
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_interceptors.h
    compiler-rt/trunk/lib/ubsan/ubsan_signals_standalone.cc

Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_interceptors.h
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_interceptors.h?rev=315227&r1=315226&r2=315227&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_interceptors.h (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_interceptors.h Mon Oct  9 11:29:52 2017
@@ -389,7 +389,7 @@
 #define SANITIZER_INTERCEPT_MALLOC_USABLE_SIZE (!SI_MAC)
 #define SANITIZER_INTERCEPT_MCHECK_MPROBE SI_LINUX_NOT_ANDROID
 #define SANITIZER_INTERCEPT_WCSCAT SI_POSIX
-#define SANITIZER_INTERCEPT_SIGNAL_AND_SIGACTION (!SI_WINDOWS)
+#define SANITIZER_INTERCEPT_SIGNAL_AND_SIGACTION (!SI_WINDOWS && SI_NOT_FUCHSIA)
 #define SANITIZER_INTERCEPT_BSD_SIGNAL SI_ANDROID
 
 #endif  // #ifndef SANITIZER_PLATFORM_INTERCEPTORS_H

Modified: compiler-rt/trunk/lib/ubsan/ubsan_signals_standalone.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/ubsan/ubsan_signals_standalone.cc?rev=315227&r1=315226&r2=315227&view=diff
==============================================================================
--- compiler-rt/trunk/lib/ubsan/ubsan_signals_standalone.cc (original)
+++ compiler-rt/trunk/lib/ubsan/ubsan_signals_standalone.cc Mon Oct  9 11:29:52 2017
@@ -24,6 +24,9 @@
 
 namespace __ubsan {
 
+#if SANITIZER_FUCHSIA
+void InitializeDeadlySignals() {}
+#else
 static void OnStackUnwind(const SignalContext &sig, const void *,
                           BufferedStackTrace *stack) {
   GetStackTraceWithPcBpAndContext(stack, kStackTraceMax, sig.pc, sig.bp,
@@ -44,6 +47,7 @@ void InitializeDeadlySignals() {
   InitializeSignalInterceptors();
   InstallDeadlySignalHandlers(&UBsanOnDeadlySignal);
 }
+#endif
 
 } // namespace __ubsan
 




More information about the llvm-commits mailing list