summaryrefslogtreecommitdiff
path: root/lib/sanitizer_common/sanitizer_posix.h
diff options
context:
space:
mode:
authorDerek Bruening <bruening@google.com>2016-07-06 21:04:48 +0000
committerDerek Bruening <bruening@google.com>2016-07-06 21:04:48 +0000
commit3df39427e495cb2ae84b9d7fc8541d4601f7b597 (patch)
tree7f4a0a5a7f6cb3aa17e1250fb82cf2c4891f1f4e /lib/sanitizer_common/sanitizer_posix.h
parentccf627eb417a383adffda4d894a3776792bbbf4c (diff)
downloadcompiler-rt-3df39427e495cb2ae84b9d7fc8541d4601f7b597.tar.gz
[esan|wset] Ensure SIGSEGV is not blocked
Summary: Adds interception of sigprocmask and pthread_sigmask to esan so that the working set tool can prevent SIGSEGV from being blocked. A blocked SIGSEGV results in crashes due to our lazy shadow page allocation scheme. Adds new sanitizer helper functions internal_sigemptyset and internal_sigismember. Adds a test to workingset-signal-posix.cpp. Reviewers: aizatsky Subscribers: vitalybuka, zhaoqin, kcc, eugenis, llvm-commits, kubabrecka Differential Revision: http://reviews.llvm.org/D22063 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@274672 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/sanitizer_common/sanitizer_posix.h')
-rw-r--r--lib/sanitizer_common/sanitizer_posix.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/sanitizer_common/sanitizer_posix.h b/lib/sanitizer_common/sanitizer_posix.h
index a46b5efab..7f862cd9e 100644
--- a/lib/sanitizer_common/sanitizer_posix.h
+++ b/lib/sanitizer_common/sanitizer_posix.h
@@ -82,6 +82,8 @@ int my_pthread_attr_getstack(void *attr, void **addr, uptr *size);
// order for internal_sigaction() to bypass interceptors.
int internal_sigaction(int signum, const void *act, void *oldact);
void internal_sigfillset(__sanitizer_sigset_t *set);
+void internal_sigemptyset(__sanitizer_sigset_t *set);
+bool internal_sigismember(__sanitizer_sigset_t *set, int signum);
uptr internal_execve(const char *filename, char *const argv[],
char *const envp[]);