summaryrefslogtreecommitdiff
path: root/lib/tsan
diff options
context:
space:
mode:
authorYabin Cui <yabinc@google.com>2015-12-09 18:37:27 +0000
committerYabin Cui <yabinc@google.com>2015-12-09 18:37:27 +0000
commite854f4a52e33111e03e6b2da2eb3a08534fd53ed (patch)
treedc354f4ef4582a2691e2d5d6a33f77ffde6ef4d4 /lib/tsan
parentf04b5ef3f7d1d1f54955375cc682ebba93ae4972 (diff)
[tsan] Define sigaction_t for Android.
Reviewers: kcc, eugenis, dvyukov Subscribers: llvm-commits, tberghammer, danalbert, srhines Differential Revision: http://reviews.llvm.org/D15298 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@255135 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/tsan')
-rw-r--r--lib/tsan/rtl/tsan_interceptors.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/tsan/rtl/tsan_interceptors.cc b/lib/tsan/rtl/tsan_interceptors.cc
index 0f24935c9..1456db36b 100644
--- a/lib/tsan/rtl/tsan_interceptors.cc
+++ b/lib/tsan/rtl/tsan_interceptors.cc
@@ -151,6 +151,17 @@ typedef long long_t; // NOLINT
typedef void (*sighandler_t)(int sig);
typedef void (*sigactionhandler_t)(int sig, my_siginfo_t *siginfo, void *uctx);
+#if SANITIZER_ANDROID
+struct sigaction_t {
+ u32 sa_flags;
+ union {
+ sighandler_t sa_handler;
+ sigactionhandler_t sa_sgiaction;
+ };
+ __sanitizer_sigset_t sa_mask;
+ void (*sa_restorer)();
+};
+#else
struct sigaction_t {
#ifdef __mips__
u32 sa_flags;
@@ -173,6 +184,7 @@ struct sigaction_t {
void (*sa_restorer)();
#endif
};
+#endif
const sighandler_t SIG_DFL = (sighandler_t)0;
const sighandler_t SIG_IGN = (sighandler_t)1;