summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Carlier <devnexen@gmail.com>2018-08-16 15:54:38 +0000
committerDavid Carlier <devnexen@gmail.com>2018-08-16 15:54:38 +0000
commit0a1e2f9f7eb7c46c1cc60a68c5c7eb1692b40a98 (patch)
tree23b6c66af4f70c56d9934b7a78aecd23d757dcfa
parent492816d8e1690b8b69d8289facd50253c3dc59d1 (diff)
downloadbcm5719-llvm-0a1e2f9f7eb7c46c1cc60a68c5c7eb1692b40a98.tar.gz
bcm5719-llvm-0a1e2f9f7eb7c46c1cc60a68c5c7eb1692b40a98.zip
[Sanitizer] Fix build openbsd
- The alternative syscall exists only on FreeBSD. - Adding OpenBSD's equivalent and while at it other remaining oses ones. Reviewers: vitalybuka, krytarowsky, hiraditya Reviewed By: hiraditya Differential Revision: https://reviews.llvm.org/D50760 llvm-svn: 339886
-rw-r--r--compiler-rt/lib/sanitizer_common/sanitizer_linux.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc b/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc
index f8562383439..204b0d18ac2 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc
@@ -489,8 +489,17 @@ tid_t GetTid() {
int TgKill(pid_t pid, tid_t tid, int sig) {
#if SANITIZER_LINUX
return internal_syscall(SYSCALL(tgkill), pid, tid, sig);
-#else
+#elif SANITIZER_FREEBSD
return internal_syscall(SYSCALL(thr_kill2), pid, tid, sig);
+#elif SANITIZER_OPENBSD
+ (void)pid;
+ return internal_syscall(SYSCALL(thrkill), tid, sig, nullptr);
+#elif SANITIZER_NETBSD
+ (void)pid;
+ return _lwp_kill(tid, sig);
+#elif SANITIZER_SOLARIS
+ (void)pid;
+ return thr_kill(tid, sig);
#endif
}
OpenPOWER on IntegriCloud