No more syscall(2)

Index: third-party/tbb/src/tbb/semaphore.h
--- third-party/tbb/src/tbb/semaphore.h.orig
+++ third-party/tbb/src/tbb/semaphore.h
@@ -41,7 +41,7 @@
 
 /* Futex definitions */
 #include <unistd.h>
-#if defined(__linux__) || __TBB_has_include(<sys/syscall.h>)
+#if defined(__linux__)
 #include <sys/syscall.h>
 #endif
 
@@ -98,7 +98,7 @@ namespace r1 {
 #if __TBB_USE_FUTEX
 
 static inline int futex_wait( void *futex, int comparand ) {
-    int r = ::syscall(SYS_futex, futex, __TBB_FUTEX_WAIT, comparand, nullptr, nullptr, 0);
+    int r = ::futex((volatile uint32_t *) futex, __TBB_FUTEX_WAIT, comparand, nullptr, nullptr);
 #if TBB_USE_ASSERT
     int e = errno;
     __TBB_ASSERT(r == 0 || r == EWOULDBLOCK || (r == -1 && (e == EAGAIN || e == EINTR)), "futex_wait failed.");
@@ -107,7 +107,7 @@ static inline int futex_wait( void *futex, int compara
 }
 
 static inline int futex_wakeup_one( void *futex ) {
-    int r = ::syscall(SYS_futex, futex, __TBB_FUTEX_WAKE, 1, nullptr, nullptr, 0);
+    int r = ::futex((volatile uint32_t *) futex, __TBB_FUTEX_WAKE, 1, nullptr, nullptr);
     __TBB_ASSERT(r == 0 || r == 1, "futex_wakeup_one: more than one thread woken up?");
     return r;
 }
