[fusl] Remove socketcall abstraction

i386 was the only architecture which required this indirection.

R=phosek@chromium.org, viettrungluu@chromium.org

Review URL: https://codereview.chromium.org/1730723002 .
diff --git a/fusl/src/internal/syscall.h b/fusl/src/internal/syscall.h
index 56ed328..9e400e0 100644
--- a/fusl/src/internal/syscall.h
+++ b/fusl/src/internal/syscall.h
@@ -63,9 +63,6 @@
 #define __syscall(...) __SYSCALL_DISP(__syscall, __VA_ARGS__)
 #define syscall(...) __syscall_ret(__syscall(__VA_ARGS__))
 
-#define socketcall __socketcall
-#define socketcall_cp __socketcall_cp
-
 #define __syscall_cp0(n) (__syscall_cp)(n, 0, 0, 0, 0, 0, 0)
 #define __syscall_cp1(n, a) (__syscall_cp)(n, __scc(a), 0, 0, 0, 0, 0)
 #define __syscall_cp2(n, a, b) (__syscall_cp)(n, __scc(a), __scc(b), 0, 0, 0, 0)
@@ -81,20 +78,6 @@
 #define __syscall_cp(...) __SYSCALL_DISP(__syscall_cp, __VA_ARGS__)
 #define syscall_cp(...) __syscall_ret(__syscall_cp(__VA_ARGS__))
 
-#ifndef SYSCALL_USE_SOCKETCALL
-#define __socketcall(nm, a, b, c, d, e, f) syscall(SYS_##nm, a, b, c, d, e, f)
-#define __socketcall_cp(nm, a, b, c, d, e, f) \
-  syscall_cp(SYS_##nm, a, b, c, d, e, f)
-#else
-#define __socketcall(nm, a, b, c, d, e, f) \
-  syscall(SYS_socketcall, __SC_##nm,       \
-          ((long[6]){(long)a, (long)b, (long)c, (long)d, (long)e, (long)f}))
-#define __socketcall_cp(nm, a, b, c, d, e, f) \
-  syscall_cp(                                 \
-      SYS_socketcall, __SC_##nm,              \
-      ((long[6]){(long)a, (long)b, (long)c, (long)d, (long)e, (long)f}))
-#endif
-
 /* fixup legacy 16-bit junk */
 
 #ifdef SYS_getuid32
@@ -220,29 +203,6 @@
 #define SYS_sendfile SYS_sendfile64
 #endif
 
-/* socketcall calls */
-
-#define __SC_socket 1
-#define __SC_bind 2
-#define __SC_connect 3
-#define __SC_listen 4
-#define __SC_accept 5
-#define __SC_getsockname 6
-#define __SC_getpeername 7
-#define __SC_socketpair 8
-#define __SC_send 9
-#define __SC_recv 10
-#define __SC_sendto 11
-#define __SC_recvfrom 12
-#define __SC_shutdown 13
-#define __SC_setsockopt 14
-#define __SC_getsockopt 15
-#define __SC_sendmsg 16
-#define __SC_recvmsg 17
-#define __SC_accept4 18
-#define __SC_recvmmsg 19
-#define __SC_sendmmsg 20
-
 #ifdef SYS_open
 #define __sys_open2(x, pn, fl) __syscall2(SYS_open, pn, (fl) | O_LARGEFILE)
 #define __sys_open3(x, pn, fl, mo) \
diff --git a/fusl/src/network/accept.c b/fusl/src/network/accept.c
index 4a25af3..d96c397 100644
--- a/fusl/src/network/accept.c
+++ b/fusl/src/network/accept.c
@@ -3,5 +3,5 @@
 #include "libc.h"
 
 int accept(int fd, struct sockaddr* restrict addr, socklen_t* restrict len) {
-  return socketcall_cp(accept, fd, addr, len, 0, 0, 0);
+  return syscall_cp(SYS_accept, fd, addr, len, 0, 0, 0);
 }
diff --git a/fusl/src/network/accept4.c b/fusl/src/network/accept4.c
index 11f627c..ce29e84 100644
--- a/fusl/src/network/accept4.c
+++ b/fusl/src/network/accept4.c
@@ -11,7 +11,7 @@
             int flg) {
   if (!flg)
     return accept(fd, addr, len);
-  int ret = socketcall_cp(accept4, fd, addr, len, flg, 0, 0);
+  int ret = syscall_cp(SYS_accept4, fd, addr, len, flg, 0, 0);
   if (ret >= 0 || (errno != ENOSYS && errno != EINVAL))
     return ret;
   ret = accept(fd, addr, len);
diff --git a/fusl/src/network/bind.c b/fusl/src/network/bind.c
index 624bf13..17da0fd 100644
--- a/fusl/src/network/bind.c
+++ b/fusl/src/network/bind.c
@@ -2,5 +2,5 @@
 #include "syscall.h"
 
 int bind(int fd, const struct sockaddr* addr, socklen_t len) {
-  return socketcall(bind, fd, addr, len, 0, 0, 0);
+  return syscall(SYS_bind, fd, addr, len, 0, 0, 0);
 }
diff --git a/fusl/src/network/connect.c b/fusl/src/network/connect.c
index 170a120..9398362 100644
--- a/fusl/src/network/connect.c
+++ b/fusl/src/network/connect.c
@@ -3,5 +3,5 @@
 #include "libc.h"
 
 int connect(int fd, const struct sockaddr* addr, socklen_t len) {
-  return socketcall_cp(connect, fd, addr, len, 0, 0, 0);
+  return syscall_cp(SYS_connect, fd, addr, len, 0, 0, 0);
 }
diff --git a/fusl/src/network/getpeername.c b/fusl/src/network/getpeername.c
index 82cb017..8e8390b 100644
--- a/fusl/src/network/getpeername.c
+++ b/fusl/src/network/getpeername.c
@@ -4,5 +4,5 @@
 int getpeername(int fd,
                 struct sockaddr* restrict addr,
                 socklen_t* restrict len) {
-  return socketcall(getpeername, fd, addr, len, 0, 0, 0);
+  return syscall(SYS_getpeername, fd, addr, len, 0, 0, 0);
 }
diff --git a/fusl/src/network/getsockname.c b/fusl/src/network/getsockname.c
index 2d8d2b6..d028133 100644
--- a/fusl/src/network/getsockname.c
+++ b/fusl/src/network/getsockname.c
@@ -4,5 +4,5 @@
 int getsockname(int fd,
                 struct sockaddr* restrict addr,
                 socklen_t* restrict len) {
-  return socketcall(getsockname, fd, addr, len, 0, 0, 0);
+  return syscall(SYS_getsockname, fd, addr, len, 0, 0, 0);
 }
diff --git a/fusl/src/network/getsockopt.c b/fusl/src/network/getsockopt.c
index d4713bd..e7692a5 100644
--- a/fusl/src/network/getsockopt.c
+++ b/fusl/src/network/getsockopt.c
@@ -6,5 +6,5 @@
                int optname,
                void* restrict optval,
                socklen_t* restrict optlen) {
-  return socketcall(getsockopt, fd, level, optname, optval, optlen, 0);
+  return syscall(SYS_getsockopt, fd, level, optname, optval, optlen, 0);
 }
diff --git a/fusl/src/network/listen.c b/fusl/src/network/listen.c
index f26d2d4..dfd06a7 100644
--- a/fusl/src/network/listen.c
+++ b/fusl/src/network/listen.c
@@ -2,5 +2,5 @@
 #include "syscall.h"
 
 int listen(int fd, int backlog) {
-  return socketcall(listen, fd, backlog, 0, 0, 0, 0);
+  return syscall(SYS_listen, fd, backlog, 0, 0, 0, 0);
 }
diff --git a/fusl/src/network/recvfrom.c b/fusl/src/network/recvfrom.c
index a0345f8..2cf4dfc 100644
--- a/fusl/src/network/recvfrom.c
+++ b/fusl/src/network/recvfrom.c
@@ -8,5 +8,5 @@
                  int flags,
                  struct sockaddr* restrict addr,
                  socklen_t* restrict alen) {
-  return socketcall_cp(recvfrom, fd, buf, len, flags, addr, alen);
+  return syscall_cp(SYS_recvfrom, fd, buf, len, flags, addr, alen);
 }
diff --git a/fusl/src/network/recvmsg.c b/fusl/src/network/recvmsg.c
index cf37273..d13b35f 100644
--- a/fusl/src/network/recvmsg.c
+++ b/fusl/src/network/recvmsg.c
@@ -13,7 +13,7 @@
     msg = &h;
   }
 #endif
-  r = socketcall_cp(recvmsg, fd, msg, flags, 0, 0, 0);
+  r = syscall_cp(SYS_recvmsg, fd, msg, flags, 0, 0, 0);
 #if LONG_MAX > INT_MAX
   if (orig)
     *orig = h;
diff --git a/fusl/src/network/sendmsg.c b/fusl/src/network/sendmsg.c
index 9e730f2..0c5ae95 100644
--- a/fusl/src/network/sendmsg.c
+++ b/fusl/src/network/sendmsg.c
@@ -25,5 +25,5 @@
     }
   }
 #endif
-  return socketcall_cp(sendmsg, fd, msg, flags, 0, 0, 0);
+  return syscall_cp(SYS_sendmsg, fd, msg, flags, 0, 0, 0);
 }
diff --git a/fusl/src/network/sendto.c b/fusl/src/network/sendto.c
index c3a7367..6fe0aea 100644
--- a/fusl/src/network/sendto.c
+++ b/fusl/src/network/sendto.c
@@ -8,5 +8,5 @@
                int flags,
                const struct sockaddr* addr,
                socklen_t alen) {
-  return socketcall_cp(sendto, fd, buf, len, flags, addr, alen);
+  return syscall_cp(SYS_sendto, fd, buf, len, flags, addr, alen);
 }
diff --git a/fusl/src/network/setsockopt.c b/fusl/src/network/setsockopt.c
index 56cdc3d..27cfb5d 100644
--- a/fusl/src/network/setsockopt.c
+++ b/fusl/src/network/setsockopt.c
@@ -6,5 +6,5 @@
                int optname,
                const void* optval,
                socklen_t optlen) {
-  return socketcall(setsockopt, fd, level, optname, optval, optlen, 0);
+  return syscall(SYS_setsockopt, fd, level, optname, optval, optlen, 0);
 }
diff --git a/fusl/src/network/shutdown.c b/fusl/src/network/shutdown.c
index f021833..77f6b54 100644
--- a/fusl/src/network/shutdown.c
+++ b/fusl/src/network/shutdown.c
@@ -2,5 +2,5 @@
 #include "syscall.h"
 
 int shutdown(int fd, int how) {
-  return socketcall(shutdown, fd, how, 0, 0, 0, 0);
+  return syscall(SYS_shutdown, fd, how, 0, 0, 0, 0);
 }
diff --git a/fusl/src/network/socket.c b/fusl/src/network/socket.c
index ec5fb90..95f37a7 100644
--- a/fusl/src/network/socket.c
+++ b/fusl/src/network/socket.c
@@ -4,11 +4,11 @@
 #include "syscall.h"
 
 int socket(int domain, int type, int protocol) {
-  int s = socketcall(socket, domain, type, protocol, 0, 0, 0);
+  int s = syscall(SYS_socket, domain, type, protocol, 0, 0, 0);
   if (s < 0 && (errno == EINVAL || errno == EPROTONOSUPPORT) &&
       (type & (SOCK_CLOEXEC | SOCK_NONBLOCK))) {
-    s = socketcall(socket, domain, type & ~(SOCK_CLOEXEC | SOCK_NONBLOCK),
-                   protocol, 0, 0, 0);
+    s = syscall(SYS_socket, domain, type & ~(SOCK_CLOEXEC | SOCK_NONBLOCK),
+                protocol, 0, 0, 0);
     if (s < 0)
       return s;
     if (type & SOCK_CLOEXEC)
diff --git a/fusl/src/network/socketpair.c b/fusl/src/network/socketpair.c
index b2dc231..66e656e 100644
--- a/fusl/src/network/socketpair.c
+++ b/fusl/src/network/socketpair.c
@@ -4,11 +4,11 @@
 #include "syscall.h"
 
 int socketpair(int domain, int type, int protocol, int fd[2]) {
-  int r = socketcall(socketpair, domain, type, protocol, fd, 0, 0);
+  int r = syscall(SYS_socketpair, domain, type, protocol, fd, 0, 0);
   if (r < 0 && (errno == EINVAL || errno == EPROTONOSUPPORT) &&
       (type & (SOCK_CLOEXEC | SOCK_NONBLOCK))) {
-    r = socketcall(socketpair, domain, type & ~(SOCK_CLOEXEC | SOCK_NONBLOCK),
-                   protocol, fd, 0, 0);
+    r = syscall(SYS_socketpair, domain, type & ~(SOCK_CLOEXEC | SOCK_NONBLOCK),
+                protocol, fd, 0, 0);
     if (r < 0)
       return r;
     if (type & SOCK_CLOEXEC) {