Index: lib/sanitizer_common/sanitizer_platform_interceptors.h =================================================================== --- lib/sanitizer_common/sanitizer_platform_interceptors.h +++ lib/sanitizer_common/sanitizer_platform_interceptors.h @@ -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 Index: lib/ubsan/ubsan_signals_standalone.cc =================================================================== --- lib/ubsan/ubsan_signals_standalone.cc +++ lib/ubsan/ubsan_signals_standalone.cc @@ -24,6 +24,7 @@ namespace __ubsan { +#if !SANITIZER_FUCHSIA static void OnStackUnwind(const SignalContext &sig, const void *, BufferedStackTrace *stack) { GetStackTraceWithPcBpAndContext(stack, kStackTraceMax, sig.pc, sig.bp, @@ -34,6 +35,7 @@ static void UBsanOnDeadlySignal(int signo, void *siginfo, void *context) { HandleDeadlySignal(siginfo, context, GetTid(), &OnStackUnwind, nullptr); } +#endif static bool is_initialized = false; @@ -41,8 +43,10 @@ if (is_initialized) return; is_initialized = true; +#if !SANITIZER_FUCHSIA InitializeSignalInterceptors(); InstallDeadlySignalHandlers(&UBsanOnDeadlySignal); +#endif } } // namespace __ubsan