summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Fitzgerald <gregf@codeaurora.org>2014-05-26 23:44:55 +0000
committerGreg Fitzgerald <gregf@codeaurora.org>2014-05-26 23:44:55 +0000
commit7b15cf888453aa9d0828b6121f7bd05138f8fe0a (patch)
tree8a6ce2efb261fa827a78f719848a8e1d6f570c79
parent3bc64d54a99b6fbc4e1aa4679cdd19071678e27f (diff)
downloadbcm5719-llvm-7b15cf888453aa9d0828b6121f7bd05138f8fe0a.tar.gz
bcm5719-llvm-7b15cf888453aa9d0828b6121f7bd05138f8fe0a.zip
On AArch64, use clone() instead of fork()
Patch by Gideon Billings. Differential Revision: http://reviews.llvm.org/D3903 llvm-svn: 209641
-rw-r--r--compiler-rt/lib/sanitizer_common/sanitizer_linux.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc b/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc
index 70978db7097..b219b700a61 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc
@@ -508,7 +508,11 @@ uptr internal_sigaltstack(const struct sigaltstack *ss,
}
int internal_fork() {
+#if SANITIZER_USES_CANONICAL_LINUX_SYSCALLS
+ return internal_syscall(SYSCALL(clone), SIGCHLD, 0);
+#else
return internal_syscall(SYSCALL(fork));
+#endif
}
#if SANITIZER_LINUX
OpenPOWER on IntegriCloud