diff options
author | Kamil Rytarowski <n54@gmx.com> | 2017-11-03 20:39:51 +0000 |
---|---|---|
committer | Kamil Rytarowski <n54@gmx.com> | 2017-11-03 20:39:51 +0000 |
commit | 99a91f674435e873114d35e977dd81c2b21d059a (patch) | |
tree | 9af7bdb4a21610521aaa1dd3bf86cb1d991c18f5 | |
parent | 526f30b8aac7fdbfad1a23d77bbb3ba9af800c60 (diff) | |
download | bcm5719-llvm-99a91f674435e873114d35e977dd81c2b21d059a.tar.gz bcm5719-llvm-99a91f674435e873114d35e977dd81c2b21d059a.zip |
Disable detection of on_exit()/TSan on NetBSD
Summary:
NetBSD does not ship with on_exit() function.
Introduce TSAN_MAYBE_INTERCEPT_ON_EXIT.
It looks like this addition fixes build for Darwin.
Sponsored by <The NetBSD Foundation>
Reviewers: vitalybuka, joerg, eugenis, dvyukov, kcc
Reviewed By: vitalybuka
Subscribers: llvm-commits, kubamracek, #sanitizers
Tags: #sanitizers
Differential Revision: https://reviews.llvm.org/D39617
llvm-svn: 317361
-rw-r--r-- | compiler-rt/lib/tsan/rtl/tsan_interceptors.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc b/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc index 79e243aef17..9fbfef52cdc 100644 --- a/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc +++ b/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc @@ -435,7 +435,7 @@ static int setup_at_exit_wrapper(ThreadState *thr, uptr pc, void(*f)(), return res; } -#if !SANITIZER_MAC +#if !SANITIZER_MAC && !SANITIZER_NETBSD static void on_exit_wrapper(int status, void *arg) { ThreadState *thr = cur_thread(); uptr pc = 0; @@ -460,6 +460,9 @@ TSAN_INTERCEPTOR(int, on_exit, void(*f)(int, void*), void *arg) { ThreadIgnoreEnd(thr, pc); return res; } +#define TSAN_MAYBE_INTERCEPT_ON_EXIT TSAN_INTERCEPT(on_exit) +#else +#define TSAN_MAYBE_INTERCEPT_ON_EXIT #endif // Cleanup old bufs. @@ -2605,7 +2608,7 @@ void InitializeInterceptors() { #if !SANITIZER_ANDROID TSAN_INTERCEPT(dl_iterate_phdr); #endif - TSAN_INTERCEPT(on_exit); + TSAN_MAYBE_INTERCEPT_ON_EXIT; TSAN_INTERCEPT(__cxa_atexit); TSAN_INTERCEPT(_exit); |