diff options
author | Pavel Labath <pavel@labath.sk> | 2019-02-26 13:38:23 +0000 |
---|---|---|
committer | Pavel Labath <pavel@labath.sk> | 2019-02-26 13:38:23 +0000 |
commit | 89ae290b58e20fc5f56b7bfae4b34e7fef06e1b1 (patch) | |
tree | 90c9223033e575e7063acbb2aa913a7ad64dfb74 /compiler-rt/lib/tsan/rtl/tsan_interceptors.cc | |
parent | 44fad947a5710c96da95423e92a6f27d5070cea4 (diff) | |
download | bcm5719-llvm-89ae290b58e20fc5f56b7bfae4b34e7fef06e1b1.tar.gz bcm5719-llvm-89ae290b58e20fc5f56b7bfae4b34e7fef06e1b1.zip |
[Sanitizer] Add interceptor for pthread_sigmask
Summary:
pthread_sigmask is just like sigprocmask, except that its behavior in
multithreaded programs is explicitly specified. Sanitizers were lacking
a common interceptor for pthread_sigmask (although some specific
sanitizers defined custom version), which lead to false positives
(at least in msan) when using this function.
The interceptor implementation, and its test are based on the equivalent
code for sigprocmask.
Reviewers: eugenis, vitalybuka
Subscribers: kubamracek, delcypher, jfb, jdoerfert, llvm-commits, #sanitizers
Tags: #llvm, #sanitizers
Differential Revision: https://reviews.llvm.org/D58382
llvm-svn: 354874
Diffstat (limited to 'compiler-rt/lib/tsan/rtl/tsan_interceptors.cc')
-rw-r--r-- | compiler-rt/lib/tsan/rtl/tsan_interceptors.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc b/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc index e4b8def7831..9ea7d89b403 100644 --- a/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc +++ b/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc @@ -2221,6 +2221,7 @@ static void HandleRecvmsg(ThreadState *thr, uptr pc, #define NEED_TLS_GET_ADDR #endif #undef SANITIZER_INTERCEPT_TLS_GET_ADDR +#undef SANITIZER_INTERCEPT_PTHREAD_SIGMASK #define COMMON_INTERCEPT_FUNCTION(name) INTERCEPT_FUNCTION(name) #define COMMON_INTERCEPT_FUNCTION_VER(name, ver) \ |