summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/sanitizer_common
diff options
context:
space:
mode:
authorViktor Kutuzov <vkutuzov@accesssoftek.com>2015-04-24 07:48:26 +0000
committerViktor Kutuzov <vkutuzov@accesssoftek.com>2015-04-24 07:48:26 +0000
commit8dee8575c6a16f795b19e18192258588a3f14f39 (patch)
tree72149f50922b591650317a62e1c005345e6800ef /compiler-rt/lib/sanitizer_common
parentbce9c2e263f90cf54ad01803b15a076cf466abb9 (diff)
downloadbcm5719-llvm-8dee8575c6a16f795b19e18192258588a3f14f39.tar.gz
bcm5719-llvm-8dee8575c6a16f795b19e18192258588a3f14f39.zip
[Sanitizers] Do not call internal_sigdelset() on non-Linux
Differential Revision: http://reviews.llvm.org/D9220 llvm-svn: 235701
Diffstat (limited to 'compiler-rt/lib/sanitizer_common')
-rw-r--r--compiler-rt/lib/sanitizer_common/sanitizer_linux.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc b/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc
index 3e343470aa8..c1e5ef3b654 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc
@@ -915,9 +915,11 @@ void *internal_start_thread(void(*func)(void *arg), void *arg) {
// Start the thread with signals blocked, otherwise it can steal user signals.
__sanitizer_sigset_t set, old;
internal_sigfillset(&set);
+#if SANITIZER_LINUX
// Glibc uses SIGSETXID signal during setuid call. If this signal is blocked
// on any thread, setuid call hangs (see test/tsan/setuid.c).
internal_sigdelset(&set, 33);
+#endif
internal_sigprocmask(SIG_SETMASK, &set, &old);
void *th;
real_pthread_create(&th, 0, (void*(*)(void *arg))func, arg);
OpenPOWER on IntegriCloud