diff --git a/compiler-rt/lib/asan/asan_posix.cpp b/compiler-rt/lib/asan/asan_posix.cpp index 206551b6ef910..0d2e4fe017677 100644 --- a/compiler-rt/lib/asan/asan_posix.cpp +++ b/compiler-rt/lib/asan/asan_posix.cpp @@ -149,6 +149,9 @@ void PlatformTSDDtor(void *tsd) { #endif void InstallAtForkHandler() { +# if SANITIZER_SOLARIS || SANITIZER_NETBSD + return; // FIXME: Implement FutexWait. +# endif auto before = []() { if (CAN_SANITIZE_LEAKS) { __lsan::LockGlobal(); diff --git a/compiler-rt/lib/lsan/lsan_posix.cpp b/compiler-rt/lib/lsan/lsan_posix.cpp index 3677f0141a2f0..e0c1899edcd2c 100644 --- a/compiler-rt/lib/lsan/lsan_posix.cpp +++ b/compiler-rt/lib/lsan/lsan_posix.cpp @@ -101,6 +101,9 @@ void InstallAtExitCheckLeaks() { } void InstallAtForkHandler() { +# if SANITIZER_SOLARIS || SANITIZER_NETBSD + return; // FIXME: Implement FutexWait. +# endif auto before = []() { LockGlobal(); LockThreads(); diff --git a/compiler-rt/test/sanitizer_common/TestCases/Posix/fork_threaded.c b/compiler-rt/test/sanitizer_common/TestCases/Posix/fork_threaded.c index 6c5102049ae8e..5c6a8743cdb58 100644 --- a/compiler-rt/test/sanitizer_common/TestCases/Posix/fork_threaded.c +++ b/compiler-rt/test/sanitizer_common/TestCases/Posix/fork_threaded.c @@ -12,6 +12,10 @@ // FIXME: False stack overflow report // UNSUPPORTED: android && asan +// FIXME: Requires `FutexWait` implementation. See __asan::InstallAtForkHandler. +// UNSUPPORTED: target={{.*solaris.*}} +// UNSUPPORTED: target={{.*netbsd.*}} + // Forking in multithread environment is unsupported. However we already have // some workarounds, and will add more, so this is the test. // The test try to check two things: