Author: ed
Date: Wed Jul 26 06:57:15 2017
New Revision: 321514
URL: https://svnweb.freebsd.org/changeset/base/321514

Log:
  Upgrade to the latest sources generated from the CloudABI specification.
  
  The CloudABI specification has had some minor changes over the last half
  year. No substantial features have been added, but some features that
  are deemed unnecessary in retrospect have been removed:
  
  - mlock()/munlock():
  
    These calls tend to be used for two different purposes: real-time
    support and handling of sensitive (cryptographic) material that
    shouldn't end up in swap. The former use case is out of scope for
    CloudABI. The latter may also be handled by encrypting swap.
  
    Removing this has the advantage that we no longer need to worry about
    having resource limits put in place.
  
  - SOCK_SEQPACKET:
  
    Support for SOCK_SEQPACKET is rather inconsistent across various
    operating systems. Some operating systems supported by CloudABI (e.g.,
    macOS) don't support it at all. Considering that they are rarely used,
    remove support for the time being.
  
  - getsockname(), getpeername(), etc.:
  
    A shortcoming of the sockets API is that it doesn't allow you to
    create socket(pair)s, having fake socket addresses associated with
    them. This makes it harder to test applications or transparently
    forward (proxy) connections to them.
  
    With CloudABI, we're slowly moving networking connectivity into a
    separate daemon called Flower. In addition to passing around socket
    file descriptors, this daemon provides address information in the form
    of arbitrary string labels. There is thus no longer any need for
    requesting socket address information from the kernel itself.
  
  This change also updates consumers of the generated code accordingly.
  Even though system calls end up getting renumbered, this won't cause any
  problems in practice. CloudABI programs always call into the kernel
  through a kernel-supplied vDSO that has the numbers updated as well.
  
  Obtained from:        https://github.com/NuxiNL/cloudabi

Modified:
  head/sys/compat/cloudabi/cloudabi_fd.c
  head/sys/compat/cloudabi/cloudabi_mem.c
  head/sys/compat/cloudabi/cloudabi_sock.c
  head/sys/compat/cloudabi/cloudabi_util.h
  head/sys/compat/cloudabi32/cloudabi32_proto.h
  head/sys/compat/cloudabi32/cloudabi32_sock.c
  head/sys/compat/cloudabi32/cloudabi32_syscall.h
  head/sys/compat/cloudabi32/cloudabi32_syscalls.c
  head/sys/compat/cloudabi32/cloudabi32_sysent.c
  head/sys/compat/cloudabi32/cloudabi32_systrace_args.c
  head/sys/compat/cloudabi64/cloudabi64_proto.h
  head/sys/compat/cloudabi64/cloudabi64_sock.c
  head/sys/compat/cloudabi64/cloudabi64_syscall.h
  head/sys/compat/cloudabi64/cloudabi64_syscalls.c
  head/sys/compat/cloudabi64/cloudabi64_sysent.c
  head/sys/compat/cloudabi64/cloudabi64_systrace_args.c
  head/sys/contrib/cloudabi/cloudabi32_types.h
  head/sys/contrib/cloudabi/cloudabi64_types.h
  head/sys/contrib/cloudabi/cloudabi_types_common.h
  head/sys/contrib/cloudabi/cloudabi_vdso_aarch64.S
  head/sys/contrib/cloudabi/cloudabi_vdso_armv6.S
  head/sys/contrib/cloudabi/cloudabi_vdso_i686.S
  head/sys/contrib/cloudabi/cloudabi_vdso_i686_on_64bit.S
  head/sys/contrib/cloudabi/cloudabi_vdso_x86_64.S
  head/sys/contrib/cloudabi/syscalls32.master
  head/sys/contrib/cloudabi/syscalls64.master
  head/usr.bin/truss/syscalls.c

Modified: head/sys/compat/cloudabi/cloudabi_fd.c
==============================================================================
--- head/sys/compat/cloudabi/cloudabi_fd.c      Wed Jul 26 06:52:45 2017        
(r321513)
+++ head/sys/compat/cloudabi/cloudabi_fd.c      Wed Jul 26 06:57:15 2017        
(r321514)
@@ -111,8 +111,6 @@ cloudabi_sys_fd_create1(struct thread *td,
                return (kern_shm_open(td, SHM_ANON, O_RDWR, 0, &fcaps));
        case CLOUDABI_FILETYPE_SOCKET_DGRAM:
                return (kern_socket(td, AF_UNIX, SOCK_DGRAM, 0));
-       case CLOUDABI_FILETYPE_SOCKET_SEQPACKET:
-               return (kern_socket(td, AF_UNIX, SOCK_SEQPACKET, 0));
        case CLOUDABI_FILETYPE_SOCKET_STREAM:
                return (kern_socket(td, AF_UNIX, SOCK_STREAM, 0));
        default:
@@ -145,9 +143,6 @@ cloudabi_sys_fd_create2(struct thread *td,
        case CLOUDABI_FILETYPE_SOCKET_DGRAM:
                error = kern_socketpair(td, AF_UNIX, SOCK_DGRAM, 0, fds);
                break;
-       case CLOUDABI_FILETYPE_SOCKET_SEQPACKET:
-               error = kern_socketpair(td, AF_UNIX, SOCK_SEQPACKET, 0, fds);
-               break;
        case CLOUDABI_FILETYPE_SOCKET_STREAM:
                error = kern_socketpair(td, AF_UNIX, SOCK_STREAM, 0, fds);
                break;
@@ -245,8 +240,6 @@ cloudabi_convert_filetype(const struct file *fp)
                switch (so->so_type) {
                case SOCK_DGRAM:
                        return (CLOUDABI_FILETYPE_SOCKET_DGRAM);
-               case SOCK_SEQPACKET:
-                       return (CLOUDABI_FILETYPE_SOCKET_SEQPACKET);
                case SOCK_STREAM:
                        return (CLOUDABI_FILETYPE_SOCKET_STREAM);
                default:
@@ -400,7 +393,6 @@ cloudabi_remove_conflicting_rights(cloudabi_filetype_t
                *inheriting = 0;
                break;
        case CLOUDABI_FILETYPE_SOCKET_DGRAM:
-       case CLOUDABI_FILETYPE_SOCKET_SEQPACKET:
        case CLOUDABI_FILETYPE_SOCKET_STREAM:
                *base &= CLOUDABI_RIGHT_FD_READ |
                    CLOUDABI_RIGHT_FD_STAT_PUT_FLAGS |

Modified: head/sys/compat/cloudabi/cloudabi_mem.c
==============================================================================
--- head/sys/compat/cloudabi/cloudabi_mem.c     Wed Jul 26 06:52:45 2017        
(r321513)
+++ head/sys/compat/cloudabi/cloudabi_mem.c     Wed Jul 26 06:57:15 2017        
(r321514)
@@ -90,14 +90,6 @@ cloudabi_sys_mem_advise(struct thread *td,
 }
 
 int
-cloudabi_sys_mem_lock(struct thread *td, struct cloudabi_sys_mem_lock_args 
*uap)
-{
-
-       return (kern_mlock(td->td_proc, td->td_ucred,
-           __DECONST(uintptr_t, uap->mapping), uap->mapping_len));
-}
-
-int
 cloudabi_sys_mem_map(struct thread *td, struct cloudabi_sys_mem_map_args *uap)
 {
        int error, flags, prot;
@@ -158,15 +150,6 @@ cloudabi_sys_mem_sync(struct thread *td, struct clouda
 
        return (kern_msync(td, (uintptr_t)uap->mapping, uap->mapping_len,
            flags));
-}
-
-int
-cloudabi_sys_mem_unlock(struct thread *td,
-    struct cloudabi_sys_mem_unlock_args *uap)
-{
-
-       return (kern_munlock(td, __DECONST(uintptr_t, uap->mapping),
-           uap->mapping_len));
 }
 
 int

Modified: head/sys/compat/cloudabi/cloudabi_sock.c
==============================================================================
--- head/sys/compat/cloudabi/cloudabi_sock.c    Wed Jul 26 06:52:45 2017        
(r321513)
+++ head/sys/compat/cloudabi/cloudabi_sock.c    Wed Jul 26 06:57:15 2017        
(r321514)
@@ -49,43 +49,6 @@ __FBSDID("$FreeBSD$");
 #include <compat/cloudabi/cloudabi_proto.h>
 #include <compat/cloudabi/cloudabi_util.h>
 
-/* Converts FreeBSD's struct sockaddr to CloudABI's cloudabi_sockaddr_t. */
-static void
-cloudabi_convert_sockaddr(const struct sockaddr *sa, socklen_t sal,
-    cloudabi_sockaddr_t *rsa)
-{
-       const struct sockaddr_in *sin;
-       const struct sockaddr_in6 *sin6;
-
-       /* Zero-sized socket address. */
-       if (sal < offsetof(struct sockaddr, sa_family) + sizeof(sa->sa_family))
-               return;
-
-       switch (sa->sa_family) {
-       case AF_INET:
-               if (sal < sizeof(struct sockaddr_in))
-                       return;
-               sin = (const struct sockaddr_in *)sa;
-               rsa->sa_family = CLOUDABI_AF_INET;
-               memcpy(&rsa->sa_inet.addr, &sin->sin_addr,
-                   sizeof(rsa->sa_inet.addr));
-               rsa->sa_inet.port = ntohs(sin->sin_port);
-               return;
-       case AF_INET6:
-               if (sal < sizeof(struct sockaddr_in6))
-                       return;
-               sin6 = (const struct sockaddr_in6 *)sa;
-               rsa->sa_family = CLOUDABI_AF_INET6;
-               memcpy(&rsa->sa_inet6.addr, &sin6->sin6_addr,
-                   sizeof(rsa->sa_inet6.addr));
-               rsa->sa_inet6.port = ntohs(sin6->sin6_port);
-               return;
-       case AF_UNIX:
-               rsa->sa_family = CLOUDABI_AF_UNIX;
-               return;
-       }
-}
-
 /* Copies a pathname into a UNIX socket address structure. */
 static int
 copyin_sockaddr_un(const char *path, size_t pathlen, struct sockaddr_un *sun)
@@ -112,27 +75,8 @@ int
 cloudabi_sys_sock_accept(struct thread *td,
     struct cloudabi_sys_sock_accept_args *uap)
 {
-       struct sockaddr *sa;
-       cloudabi_sockstat_t ss = {};
-       socklen_t sal;
-       int error;
 
-       if (uap->buf == NULL) {
-               /* Only return the new file descriptor number. */
-               return (kern_accept(td, uap->sock, NULL, NULL, NULL));
-       } else {
-               /* Also return properties of the new socket descriptor. */
-               sal = MAX(sizeof(struct sockaddr_in),
-                   sizeof(struct sockaddr_in6));
-               error = kern_accept(td, uap->sock, (void *)&sa, &sal, NULL);
-               if (error != 0)
-                       return (error);
-
-               /* TODO(ed): Fill the other members of cloudabi_sockstat_t. */
-               cloudabi_convert_sockaddr(sa, sal, &ss.ss_peername);
-               free(sa, M_SONAME);
-               return (copyout(&ss, uap->buf, sizeof(ss)));
-       }
+       return (kern_accept(td, uap->sock, NULL, NULL, NULL));
 }
 
 int
@@ -200,7 +144,6 @@ cloudabi_sys_sock_stat_get(struct thread *td,
        cloudabi_sockstat_t ss = {};
        cap_rights_t rights;
        struct file *fp;
-       struct sockaddr *sa;
        struct socket *so;
        int error;
 
@@ -210,27 +153,6 @@ cloudabi_sys_sock_stat_get(struct thread *td,
                return (error);
        so = fp->f_data;
 
-       CURVNET_SET(so->so_vnet);
-
-       /* Set ss_sockname. */
-       error = so->so_proto->pr_usrreqs->pru_sockaddr(so, &sa);
-       if (error == 0) {
-               cloudabi_convert_sockaddr(sa, sa->sa_len, &ss.ss_sockname);
-               free(sa, M_SONAME);
-       }
-
-       /* Set ss_peername. */
-       if ((so->so_state & (SS_ISCONNECTED | SS_ISCONFIRMING)) != 0) {
-               error = so->so_proto->pr_usrreqs->pru_peeraddr(so, &sa);
-               if (error == 0) {
-                       cloudabi_convert_sockaddr(sa, sa->sa_len,
-                           &ss.ss_peername);
-                       free(sa, M_SONAME);
-               }
-       }
-
-       CURVNET_RESTORE();
-
        /* Set ss_error. */
        SOCK_LOCK(so);
        ss.ss_error = cloudabi_convert_errno(so->so_error);
@@ -249,8 +171,8 @@ cloudabi_sys_sock_stat_get(struct thread *td,
 int
 cloudabi_sock_recv(struct thread *td, cloudabi_fd_t fd, struct iovec *data,
     size_t datalen, cloudabi_fd_t *fds, size_t fdslen,
-    cloudabi_msgflags_t flags, size_t *rdatalen, size_t *rfdslen,
-    cloudabi_sockaddr_t *peername, cloudabi_msgflags_t *rflags)
+    cloudabi_riflags_t flags, size_t *rdatalen, size_t *rfdslen,
+    cloudabi_roflags_t *rflags)
 {
        struct sockaddr_storage ss;
        struct msghdr hdr = {
@@ -263,9 +185,9 @@ cloudabi_sock_recv(struct thread *td, cloudabi_fd_t fd
        int error;
 
        /* Convert flags. */
-       if (flags & CLOUDABI_MSG_PEEK)
+       if (flags & CLOUDABI_SOCK_RECV_PEEK)
                hdr.msg_flags |= MSG_PEEK;
-       if (flags & CLOUDABI_MSG_WAITALL)
+       if (flags & CLOUDABI_SOCK_RECV_WAITALL)
                hdr.msg_flags |= MSG_WAITALL;
 
        control = NULL;
@@ -278,13 +200,9 @@ cloudabi_sock_recv(struct thread *td, cloudabi_fd_t fd
        *rdatalen = td->td_retval[0];
        td->td_retval[0] = 0;
        *rfdslen = 0;
-       cloudabi_convert_sockaddr((struct sockaddr *)&ss,
-           MIN(hdr.msg_namelen, sizeof(ss)), peername);
        *rflags = 0;
-       if (hdr.msg_flags & MSG_EOR)
-               *rflags |= CLOUDABI_MSG_EOR;
        if (hdr.msg_flags & MSG_TRUNC)
-               *rflags |= CLOUDABI_MSG_TRUNC;
+               *rflags |= CLOUDABI_SOCK_RECV_DATA_TRUNCATED;
 
        /* Extract file descriptors from SCM_RIGHTS messages. */
        if (control != NULL) {
@@ -303,7 +221,8 @@ cloudabi_sock_recv(struct thread *td, cloudabi_fd_t fd
                                if (nfds > fdslen) {
                                        /* Unable to store file descriptors. */
                                        nfds = fdslen;
-                                       *rflags |= CLOUDABI_MSG_CTRUNC;
+                                       *rflags |=
+                                           CLOUDABI_SOCK_RECV_FDS_TRUNCATED;
                                }
                                error = copyout(CMSG_DATA(chdr), fds,
                                    nfds * sizeof(int));
@@ -323,21 +242,15 @@ cloudabi_sock_recv(struct thread *td, cloudabi_fd_t fd
 
 int
 cloudabi_sock_send(struct thread *td, cloudabi_fd_t fd, struct iovec *data,
-    size_t datalen, const cloudabi_fd_t *fds, size_t fdslen,
-    cloudabi_msgflags_t flags, size_t *rdatalen)
+    size_t datalen, const cloudabi_fd_t *fds, size_t fdslen, size_t *rdatalen)
 {
        struct msghdr hdr = {
                .msg_iov = data,
                .msg_iovlen = datalen,
        };
        struct mbuf *control;
-       int error, mflags;
+       int error;
 
-       /* Convert flags. */
-       mflags = MSG_NOSIGNAL;
-       if (flags & CLOUDABI_MSG_EOR)
-               mflags |= MSG_EOR;
-
        /* Convert file descriptor array to an SCM_RIGHTS message. */
        if (fdslen > MCLBYTES || CMSG_SPACE(fdslen * sizeof(int)) > MCLBYTES) {
                return (EINVAL);
@@ -361,7 +274,7 @@ cloudabi_sock_send(struct thread *td, cloudabi_fd_t fd
                control = NULL;
        }
 
-       error = kern_sendit(td, fd, &hdr, mflags, control, UIO_USERSPACE);
+       error = kern_sendit(td, fd, &hdr, MSG_NOSIGNAL, control, UIO_USERSPACE);
        if (error != 0)
                return (error);
        *rdatalen = td->td_retval[0];

Modified: head/sys/compat/cloudabi/cloudabi_util.h
==============================================================================
--- head/sys/compat/cloudabi/cloudabi_util.h    Wed Jul 26 06:52:45 2017        
(r321513)
+++ head/sys/compat/cloudabi/cloudabi_util.h    Wed Jul 26 06:57:15 2017        
(r321514)
@@ -75,10 +75,10 @@ int cloudabi_futex_lock_wrlock(struct thread *, clouda
 
 /* Socket operations. */
 int cloudabi_sock_recv(struct thread *, cloudabi_fd_t, struct iovec *, size_t,
-    cloudabi_fd_t *, size_t, cloudabi_msgflags_t, size_t *, size_t *,
-    cloudabi_sockaddr_t *, cloudabi_msgflags_t *);
+    cloudabi_fd_t *, size_t, cloudabi_riflags_t, size_t *, size_t *,
+    cloudabi_roflags_t *);
 int cloudabi_sock_send(struct thread *, cloudabi_fd_t, struct iovec *, size_t,
-    const cloudabi_fd_t *, size_t, cloudabi_msgflags_t, size_t *);
+    const cloudabi_fd_t *, size_t, size_t *);
 
 /* vDSO setup and teardown. */
 void cloudabi_vdso_init(struct sysentvec *, char *, char *);

Modified: head/sys/compat/cloudabi32/cloudabi32_proto.h
==============================================================================
--- head/sys/compat/cloudabi32/cloudabi32_proto.h       Wed Jul 26 06:52:45 
2017        (r321513)
+++ head/sys/compat/cloudabi32/cloudabi32_proto.h       Wed Jul 26 06:57:15 
2017        (r321514)
@@ -200,10 +200,6 @@ struct cloudabi_sys_mem_advise_args {
        char mapping_len_l_[PADL_(size_t)]; size_t mapping_len; char 
mapping_len_r_[PADR_(size_t)];
        char advice_l_[PADL_(cloudabi_advice_t)]; cloudabi_advice_t advice; 
char advice_r_[PADR_(cloudabi_advice_t)];
 };
-struct cloudabi_sys_mem_lock_args {
-       char mapping_l_[PADL_(const void *)]; const void * mapping; char 
mapping_r_[PADR_(const void *)];
-       char mapping_len_l_[PADL_(size_t)]; size_t mapping_len; char 
mapping_len_r_[PADR_(size_t)];
-};
 struct cloudabi_sys_mem_map_args {
        char addr_l_[PADL_(void *)]; void * addr; char addr_r_[PADR_(void *)];
        char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)];
@@ -222,10 +218,6 @@ struct cloudabi_sys_mem_sync_args {
        char mapping_len_l_[PADL_(size_t)]; size_t mapping_len; char 
mapping_len_r_[PADR_(size_t)];
        char flags_l_[PADL_(cloudabi_msflags_t)]; cloudabi_msflags_t flags; 
char flags_r_[PADR_(cloudabi_msflags_t)];
 };
-struct cloudabi_sys_mem_unlock_args {
-       char mapping_l_[PADL_(const void *)]; const void * mapping; char 
mapping_r_[PADR_(const void *)];
-       char mapping_len_l_[PADL_(size_t)]; size_t mapping_len; char 
mapping_len_r_[PADR_(size_t)];
-};
 struct cloudabi_sys_mem_unmap_args {
        char mapping_l_[PADL_(void *)]; void * mapping; char 
mapping_r_[PADR_(void *)];
        char mapping_len_l_[PADL_(size_t)]; size_t mapping_len; char 
mapping_len_r_[PADR_(size_t)];
@@ -265,7 +257,7 @@ struct cloudabi_sys_random_get_args {
 };
 struct cloudabi_sys_sock_accept_args {
        char sock_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t sock; char 
sock_r_[PADR_(cloudabi_fd_t)];
-       char buf_l_[PADL_(cloudabi_sockstat_t *)]; cloudabi_sockstat_t * buf; 
char buf_r_[PADR_(cloudabi_sockstat_t *)];
+       char unused_l_[PADL_(void *)]; void * unused; char unused_r_[PADR_(void 
*)];
 };
 struct cloudabi_sys_sock_bind_args {
        char sock_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t sock; char 
sock_r_[PADR_(cloudabi_fd_t)];
@@ -345,11 +337,9 @@ int        cloudabi_sys_file_symlink(struct thread *, 
struct 
 int    cloudabi_sys_file_unlink(struct thread *, struct 
cloudabi_sys_file_unlink_args *);
 int    cloudabi_sys_lock_unlock(struct thread *, struct 
cloudabi_sys_lock_unlock_args *);
 int    cloudabi_sys_mem_advise(struct thread *, struct 
cloudabi_sys_mem_advise_args *);
-int    cloudabi_sys_mem_lock(struct thread *, struct 
cloudabi_sys_mem_lock_args *);
 int    cloudabi_sys_mem_map(struct thread *, struct cloudabi_sys_mem_map_args 
*);
 int    cloudabi_sys_mem_protect(struct thread *, struct 
cloudabi_sys_mem_protect_args *);
 int    cloudabi_sys_mem_sync(struct thread *, struct 
cloudabi_sys_mem_sync_args *);
-int    cloudabi_sys_mem_unlock(struct thread *, struct 
cloudabi_sys_mem_unlock_args *);
 int    cloudabi_sys_mem_unmap(struct thread *, struct 
cloudabi_sys_mem_unmap_args *);
 int    cloudabi32_sys_poll(struct thread *, struct cloudabi32_sys_poll_args *);
 int    cloudabi32_sys_poll_fd(struct thread *, struct 
cloudabi32_sys_poll_fd_args *);
@@ -399,6 +389,12 @@ int        cloudabi_sys_thread_yield(struct thread *, 
struct 
 
 #endif /* COMPAT_FREEBSD10 */
 
+
+#ifdef COMPAT_FREEBSD11
+
+
+#endif /* COMPAT_FREEBSD11 */
+
 #define        CLOUDABI32_SYS_AUE_cloudabi_sys_clock_res_get   AUE_NULL
 #define        CLOUDABI32_SYS_AUE_cloudabi_sys_clock_time_get  AUE_NULL
 #define        CLOUDABI32_SYS_AUE_cloudabi_sys_condvar_signal  AUE_NULL
@@ -432,11 +428,9 @@ int        cloudabi_sys_thread_yield(struct thread *, 
struct 
 #define        CLOUDABI32_SYS_AUE_cloudabi_sys_file_unlink     AUE_NULL
 #define        CLOUDABI32_SYS_AUE_cloudabi_sys_lock_unlock     AUE_NULL
 #define        CLOUDABI32_SYS_AUE_cloudabi_sys_mem_advise      AUE_NULL
-#define        CLOUDABI32_SYS_AUE_cloudabi_sys_mem_lock        AUE_NULL
 #define        CLOUDABI32_SYS_AUE_cloudabi_sys_mem_map AUE_NULL
 #define        CLOUDABI32_SYS_AUE_cloudabi_sys_mem_protect     AUE_NULL
 #define        CLOUDABI32_SYS_AUE_cloudabi_sys_mem_sync        AUE_NULL
-#define        CLOUDABI32_SYS_AUE_cloudabi_sys_mem_unlock      AUE_NULL
 #define        CLOUDABI32_SYS_AUE_cloudabi_sys_mem_unmap       AUE_NULL
 #define        CLOUDABI32_SYS_AUE_cloudabi32_sys_poll  AUE_NULL
 #define        CLOUDABI32_SYS_AUE_cloudabi32_sys_poll_fd       AUE_NULL

Modified: head/sys/compat/cloudabi32/cloudabi32_sock.c
==============================================================================
--- head/sys/compat/cloudabi32/cloudabi32_sock.c        Wed Jul 26 06:52:45 
2017        (r321513)
+++ head/sys/compat/cloudabi32/cloudabi32_sock.c        Wed Jul 26 06:57:15 
2017        (r321514)
@@ -75,7 +75,7 @@ cloudabi32_sys_sock_recv(struct thread *td,
 
        error = cloudabi_sock_recv(td, uap->sock, iov, ri.ri_data_len,
            TO_PTR(ri.ri_fds), ri.ri_fds_len, ri.ri_flags, &rdatalen,
-           &rfdslen, &ro.ro_peername, &ro.ro_flags);
+           &rfdslen, &ro.ro_flags);
        free(iov, M_SOCKET);
        if (error != 0)
                return (error);
@@ -118,7 +118,7 @@ cloudabi32_sys_sock_send(struct thread *td,
        }
 
        error = cloudabi_sock_send(td, uap->sock, iov, si.si_data_len,
-           TO_PTR(si.si_fds), si.si_fds_len, si.si_flags, &datalen);
+           TO_PTR(si.si_fds), si.si_fds_len, &datalen);
        free(iov, M_SOCKET);
        if (error != 0)
                return (error);

Modified: head/sys/compat/cloudabi32/cloudabi32_syscall.h
==============================================================================
--- head/sys/compat/cloudabi32/cloudabi32_syscall.h     Wed Jul 26 06:52:45 
2017        (r321513)
+++ head/sys/compat/cloudabi32/cloudabi32_syscall.h     Wed Jul 26 06:57:15 
2017        (r321514)
@@ -38,28 +38,26 @@
 #define        CLOUDABI32_SYS_cloudabi_sys_file_unlink 30
 #define        CLOUDABI32_SYS_cloudabi_sys_lock_unlock 31
 #define        CLOUDABI32_SYS_cloudabi_sys_mem_advise  32
-#define        CLOUDABI32_SYS_cloudabi_sys_mem_lock    33
-#define        CLOUDABI32_SYS_cloudabi_sys_mem_map     34
-#define        CLOUDABI32_SYS_cloudabi_sys_mem_protect 35
-#define        CLOUDABI32_SYS_cloudabi_sys_mem_sync    36
-#define        CLOUDABI32_SYS_cloudabi_sys_mem_unlock  37
-#define        CLOUDABI32_SYS_cloudabi_sys_mem_unmap   38
-#define        CLOUDABI32_SYS_cloudabi32_sys_poll      39
-#define        CLOUDABI32_SYS_cloudabi32_sys_poll_fd   40
-#define        CLOUDABI32_SYS_cloudabi_sys_proc_exec   41
-#define        CLOUDABI32_SYS_cloudabi_sys_proc_exit   42
-#define        CLOUDABI32_SYS_cloudabi_sys_proc_fork   43
-#define        CLOUDABI32_SYS_cloudabi_sys_proc_raise  44
-#define        CLOUDABI32_SYS_cloudabi_sys_random_get  45
-#define        CLOUDABI32_SYS_cloudabi_sys_sock_accept 46
-#define        CLOUDABI32_SYS_cloudabi_sys_sock_bind   47
-#define        CLOUDABI32_SYS_cloudabi_sys_sock_connect        48
-#define        CLOUDABI32_SYS_cloudabi_sys_sock_listen 49
-#define        CLOUDABI32_SYS_cloudabi32_sys_sock_recv 50
-#define        CLOUDABI32_SYS_cloudabi32_sys_sock_send 51
-#define        CLOUDABI32_SYS_cloudabi_sys_sock_shutdown       52
-#define        CLOUDABI32_SYS_cloudabi_sys_sock_stat_get       53
-#define        CLOUDABI32_SYS_cloudabi32_sys_thread_create     54
-#define        CLOUDABI32_SYS_cloudabi_sys_thread_exit 55
-#define        CLOUDABI32_SYS_cloudabi_sys_thread_yield        56
-#define        CLOUDABI32_SYS_MAXSYSCALL       57
+#define        CLOUDABI32_SYS_cloudabi_sys_mem_map     33
+#define        CLOUDABI32_SYS_cloudabi_sys_mem_protect 34
+#define        CLOUDABI32_SYS_cloudabi_sys_mem_sync    35
+#define        CLOUDABI32_SYS_cloudabi_sys_mem_unmap   36
+#define        CLOUDABI32_SYS_cloudabi32_sys_poll      37
+#define        CLOUDABI32_SYS_cloudabi32_sys_poll_fd   38
+#define        CLOUDABI32_SYS_cloudabi_sys_proc_exec   39
+#define        CLOUDABI32_SYS_cloudabi_sys_proc_exit   40
+#define        CLOUDABI32_SYS_cloudabi_sys_proc_fork   41
+#define        CLOUDABI32_SYS_cloudabi_sys_proc_raise  42
+#define        CLOUDABI32_SYS_cloudabi_sys_random_get  43
+#define        CLOUDABI32_SYS_cloudabi_sys_sock_accept 44
+#define        CLOUDABI32_SYS_cloudabi_sys_sock_bind   45
+#define        CLOUDABI32_SYS_cloudabi_sys_sock_connect        46
+#define        CLOUDABI32_SYS_cloudabi_sys_sock_listen 47
+#define        CLOUDABI32_SYS_cloudabi32_sys_sock_recv 48
+#define        CLOUDABI32_SYS_cloudabi32_sys_sock_send 49
+#define        CLOUDABI32_SYS_cloudabi_sys_sock_shutdown       50
+#define        CLOUDABI32_SYS_cloudabi_sys_sock_stat_get       51
+#define        CLOUDABI32_SYS_cloudabi32_sys_thread_create     52
+#define        CLOUDABI32_SYS_cloudabi_sys_thread_exit 53
+#define        CLOUDABI32_SYS_cloudabi_sys_thread_yield        54
+#define        CLOUDABI32_SYS_MAXSYSCALL       55

Modified: head/sys/compat/cloudabi32/cloudabi32_syscalls.c
==============================================================================
--- head/sys/compat/cloudabi32/cloudabi32_syscalls.c    Wed Jul 26 06:52:45 
2017        (r321513)
+++ head/sys/compat/cloudabi32/cloudabi32_syscalls.c    Wed Jul 26 06:57:15 
2017        (r321514)
@@ -39,28 +39,26 @@ const char *cloudabi32_syscallnames[] = {
        "cloudabi_sys_file_unlink",                     /* 30 = 
cloudabi_sys_file_unlink */
        "cloudabi_sys_lock_unlock",                     /* 31 = 
cloudabi_sys_lock_unlock */
        "cloudabi_sys_mem_advise",                      /* 32 = 
cloudabi_sys_mem_advise */
-       "cloudabi_sys_mem_lock",                        /* 33 = 
cloudabi_sys_mem_lock */
-       "cloudabi_sys_mem_map",                 /* 34 = cloudabi_sys_mem_map */
-       "cloudabi_sys_mem_protect",                     /* 35 = 
cloudabi_sys_mem_protect */
-       "cloudabi_sys_mem_sync",                        /* 36 = 
cloudabi_sys_mem_sync */
-       "cloudabi_sys_mem_unlock",                      /* 37 = 
cloudabi_sys_mem_unlock */
-       "cloudabi_sys_mem_unmap",                       /* 38 = 
cloudabi_sys_mem_unmap */
-       "cloudabi32_sys_poll",                  /* 39 = cloudabi32_sys_poll */
-       "cloudabi32_sys_poll_fd",                       /* 40 = 
cloudabi32_sys_poll_fd */
-       "cloudabi_sys_proc_exec",                       /* 41 = 
cloudabi_sys_proc_exec */
-       "cloudabi_sys_proc_exit",                       /* 42 = 
cloudabi_sys_proc_exit */
-       "cloudabi_sys_proc_fork",                       /* 43 = 
cloudabi_sys_proc_fork */
-       "cloudabi_sys_proc_raise",                      /* 44 = 
cloudabi_sys_proc_raise */
-       "cloudabi_sys_random_get",                      /* 45 = 
cloudabi_sys_random_get */
-       "cloudabi_sys_sock_accept",                     /* 46 = 
cloudabi_sys_sock_accept */
-       "cloudabi_sys_sock_bind",                       /* 47 = 
cloudabi_sys_sock_bind */
-       "cloudabi_sys_sock_connect",                    /* 48 = 
cloudabi_sys_sock_connect */
-       "cloudabi_sys_sock_listen",                     /* 49 = 
cloudabi_sys_sock_listen */
-       "cloudabi32_sys_sock_recv",                     /* 50 = 
cloudabi32_sys_sock_recv */
-       "cloudabi32_sys_sock_send",                     /* 51 = 
cloudabi32_sys_sock_send */
-       "cloudabi_sys_sock_shutdown",                   /* 52 = 
cloudabi_sys_sock_shutdown */
-       "cloudabi_sys_sock_stat_get",                   /* 53 = 
cloudabi_sys_sock_stat_get */
-       "cloudabi32_sys_thread_create",                 /* 54 = 
cloudabi32_sys_thread_create */
-       "cloudabi_sys_thread_exit",                     /* 55 = 
cloudabi_sys_thread_exit */
-       "cloudabi_sys_thread_yield",                    /* 56 = 
cloudabi_sys_thread_yield */
+       "cloudabi_sys_mem_map",                 /* 33 = cloudabi_sys_mem_map */
+       "cloudabi_sys_mem_protect",                     /* 34 = 
cloudabi_sys_mem_protect */
+       "cloudabi_sys_mem_sync",                        /* 35 = 
cloudabi_sys_mem_sync */
+       "cloudabi_sys_mem_unmap",                       /* 36 = 
cloudabi_sys_mem_unmap */
+       "cloudabi32_sys_poll",                  /* 37 = cloudabi32_sys_poll */
+       "cloudabi32_sys_poll_fd",                       /* 38 = 
cloudabi32_sys_poll_fd */
+       "cloudabi_sys_proc_exec",                       /* 39 = 
cloudabi_sys_proc_exec */
+       "cloudabi_sys_proc_exit",                       /* 40 = 
cloudabi_sys_proc_exit */
+       "cloudabi_sys_proc_fork",                       /* 41 = 
cloudabi_sys_proc_fork */
+       "cloudabi_sys_proc_raise",                      /* 42 = 
cloudabi_sys_proc_raise */
+       "cloudabi_sys_random_get",                      /* 43 = 
cloudabi_sys_random_get */
+       "cloudabi_sys_sock_accept",                     /* 44 = 
cloudabi_sys_sock_accept */
+       "cloudabi_sys_sock_bind",                       /* 45 = 
cloudabi_sys_sock_bind */
+       "cloudabi_sys_sock_connect",                    /* 46 = 
cloudabi_sys_sock_connect */
+       "cloudabi_sys_sock_listen",                     /* 47 = 
cloudabi_sys_sock_listen */
+       "cloudabi32_sys_sock_recv",                     /* 48 = 
cloudabi32_sys_sock_recv */
+       "cloudabi32_sys_sock_send",                     /* 49 = 
cloudabi32_sys_sock_send */
+       "cloudabi_sys_sock_shutdown",                   /* 50 = 
cloudabi_sys_sock_shutdown */
+       "cloudabi_sys_sock_stat_get",                   /* 51 = 
cloudabi_sys_sock_stat_get */
+       "cloudabi32_sys_thread_create",                 /* 52 = 
cloudabi32_sys_thread_create */
+       "cloudabi_sys_thread_exit",                     /* 53 = 
cloudabi_sys_thread_exit */
+       "cloudabi_sys_thread_yield",                    /* 54 = 
cloudabi_sys_thread_yield */
 };

Modified: head/sys/compat/cloudabi32/cloudabi32_sysent.c
==============================================================================
--- head/sys/compat/cloudabi32/cloudabi32_sysent.c      Wed Jul 26 06:52:45 
2017        (r321513)
+++ head/sys/compat/cloudabi32/cloudabi32_sysent.c      Wed Jul 26 06:57:15 
2017        (r321514)
@@ -47,28 +47,26 @@ struct sysent cloudabi32_sysent[] = {
        { AS(cloudabi_sys_file_unlink_args), (sy_call_t 
*)cloudabi_sys_file_unlink, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC 
},      /* 30 = cloudabi_sys_file_unlink */
        { AS(cloudabi_sys_lock_unlock_args), (sy_call_t 
*)cloudabi_sys_lock_unlock, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC 
},      /* 31 = cloudabi_sys_lock_unlock */
        { AS(cloudabi_sys_mem_advise_args), (sy_call_t 
*)cloudabi_sys_mem_advise, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC 
},        /* 32 = cloudabi_sys_mem_advise */
-       { AS(cloudabi_sys_mem_lock_args), (sy_call_t *)cloudabi_sys_mem_lock, 
AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },    /* 33 = 
cloudabi_sys_mem_lock */
-       { AS(cloudabi_sys_mem_map_args), (sy_call_t *)cloudabi_sys_mem_map, 
AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },      /* 34 = 
cloudabi_sys_mem_map */
-       { AS(cloudabi_sys_mem_protect_args), (sy_call_t 
*)cloudabi_sys_mem_protect, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC 
},      /* 35 = cloudabi_sys_mem_protect */
-       { AS(cloudabi_sys_mem_sync_args), (sy_call_t *)cloudabi_sys_mem_sync, 
AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },    /* 36 = 
cloudabi_sys_mem_sync */
-       { AS(cloudabi_sys_mem_unlock_args), (sy_call_t 
*)cloudabi_sys_mem_unlock, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC 
},        /* 37 = cloudabi_sys_mem_unlock */
-       { AS(cloudabi_sys_mem_unmap_args), (sy_call_t *)cloudabi_sys_mem_unmap, 
AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },  /* 38 = 
cloudabi_sys_mem_unmap */
-       { AS(cloudabi32_sys_poll_args), (sy_call_t *)cloudabi32_sys_poll, 
AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },        /* 39 = 
cloudabi32_sys_poll */
-       { AS(cloudabi32_sys_poll_fd_args), (sy_call_t *)cloudabi32_sys_poll_fd, 
AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },  /* 40 = 
cloudabi32_sys_poll_fd */
-       { AS(cloudabi_sys_proc_exec_args), (sy_call_t *)cloudabi_sys_proc_exec, 
AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },  /* 41 = 
cloudabi_sys_proc_exec */
-       { AS(cloudabi_sys_proc_exit_args), (sy_call_t *)cloudabi_sys_proc_exit, 
AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },  /* 42 = 
cloudabi_sys_proc_exit */
-       { 0, (sy_call_t *)cloudabi_sys_proc_fork, AUE_NULL, NULL, 0, 0, 
SYF_CAPENABLED, SY_THR_STATIC },        /* 43 = cloudabi_sys_proc_fork */
-       { AS(cloudabi_sys_proc_raise_args), (sy_call_t 
*)cloudabi_sys_proc_raise, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC 
},        /* 44 = cloudabi_sys_proc_raise */
-       { AS(cloudabi_sys_random_get_args), (sy_call_t 
*)cloudabi_sys_random_get, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC 
},        /* 45 = cloudabi_sys_random_get */
-       { AS(cloudabi_sys_sock_accept_args), (sy_call_t 
*)cloudabi_sys_sock_accept, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC 
},      /* 46 = cloudabi_sys_sock_accept */
-       { AS(cloudabi_sys_sock_bind_args), (sy_call_t *)cloudabi_sys_sock_bind, 
AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },  /* 47 = 
cloudabi_sys_sock_bind */
-       { AS(cloudabi_sys_sock_connect_args), (sy_call_t 
*)cloudabi_sys_sock_connect, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, 
SY_THR_STATIC },    /* 48 = cloudabi_sys_sock_connect */
-       { AS(cloudabi_sys_sock_listen_args), (sy_call_t 
*)cloudabi_sys_sock_listen, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC 
},      /* 49 = cloudabi_sys_sock_listen */
-       { AS(cloudabi32_sys_sock_recv_args), (sy_call_t 
*)cloudabi32_sys_sock_recv, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC 
},      /* 50 = cloudabi32_sys_sock_recv */
-       { AS(cloudabi32_sys_sock_send_args), (sy_call_t 
*)cloudabi32_sys_sock_send, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC 
},      /* 51 = cloudabi32_sys_sock_send */
-       { AS(cloudabi_sys_sock_shutdown_args), (sy_call_t 
*)cloudabi_sys_sock_shutdown, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, 
SY_THR_STATIC },  /* 52 = cloudabi_sys_sock_shutdown */
-       { AS(cloudabi_sys_sock_stat_get_args), (sy_call_t 
*)cloudabi_sys_sock_stat_get, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, 
SY_THR_STATIC },  /* 53 = cloudabi_sys_sock_stat_get */
-       { AS(cloudabi32_sys_thread_create_args), (sy_call_t 
*)cloudabi32_sys_thread_create, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, 
SY_THR_STATIC },      /* 54 = cloudabi32_sys_thread_create */
-       { AS(cloudabi_sys_thread_exit_args), (sy_call_t 
*)cloudabi_sys_thread_exit, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC 
},      /* 55 = cloudabi_sys_thread_exit */
-       { 0, (sy_call_t *)cloudabi_sys_thread_yield, AUE_NULL, NULL, 0, 0, 
SYF_CAPENABLED, SY_THR_STATIC },     /* 56 = cloudabi_sys_thread_yield */
+       { AS(cloudabi_sys_mem_map_args), (sy_call_t *)cloudabi_sys_mem_map, 
AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },      /* 33 = 
cloudabi_sys_mem_map */
+       { AS(cloudabi_sys_mem_protect_args), (sy_call_t 
*)cloudabi_sys_mem_protect, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC 
},      /* 34 = cloudabi_sys_mem_protect */
+       { AS(cloudabi_sys_mem_sync_args), (sy_call_t *)cloudabi_sys_mem_sync, 
AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },    /* 35 = 
cloudabi_sys_mem_sync */
+       { AS(cloudabi_sys_mem_unmap_args), (sy_call_t *)cloudabi_sys_mem_unmap, 
AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },  /* 36 = 
cloudabi_sys_mem_unmap */
+       { AS(cloudabi32_sys_poll_args), (sy_call_t *)cloudabi32_sys_poll, 
AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },        /* 37 = 
cloudabi32_sys_poll */
+       { AS(cloudabi32_sys_poll_fd_args), (sy_call_t *)cloudabi32_sys_poll_fd, 
AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },  /* 38 = 
cloudabi32_sys_poll_fd */
+       { AS(cloudabi_sys_proc_exec_args), (sy_call_t *)cloudabi_sys_proc_exec, 
AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },  /* 39 = 
cloudabi_sys_proc_exec */
+       { AS(cloudabi_sys_proc_exit_args), (sy_call_t *)cloudabi_sys_proc_exit, 
AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },  /* 40 = 
cloudabi_sys_proc_exit */
+       { 0, (sy_call_t *)cloudabi_sys_proc_fork, AUE_NULL, NULL, 0, 0, 
SYF_CAPENABLED, SY_THR_STATIC },        /* 41 = cloudabi_sys_proc_fork */
+       { AS(cloudabi_sys_proc_raise_args), (sy_call_t 
*)cloudabi_sys_proc_raise, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC 
},        /* 42 = cloudabi_sys_proc_raise */
+       { AS(cloudabi_sys_random_get_args), (sy_call_t 
*)cloudabi_sys_random_get, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC 
},        /* 43 = cloudabi_sys_random_get */
+       { AS(cloudabi_sys_sock_accept_args), (sy_call_t 
*)cloudabi_sys_sock_accept, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC 
},      /* 44 = cloudabi_sys_sock_accept */
+       { AS(cloudabi_sys_sock_bind_args), (sy_call_t *)cloudabi_sys_sock_bind, 
AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },  /* 45 = 
cloudabi_sys_sock_bind */
+       { AS(cloudabi_sys_sock_connect_args), (sy_call_t 
*)cloudabi_sys_sock_connect, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, 
SY_THR_STATIC },    /* 46 = cloudabi_sys_sock_connect */
+       { AS(cloudabi_sys_sock_listen_args), (sy_call_t 
*)cloudabi_sys_sock_listen, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC 
},      /* 47 = cloudabi_sys_sock_listen */
+       { AS(cloudabi32_sys_sock_recv_args), (sy_call_t 
*)cloudabi32_sys_sock_recv, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC 
},      /* 48 = cloudabi32_sys_sock_recv */
+       { AS(cloudabi32_sys_sock_send_args), (sy_call_t 
*)cloudabi32_sys_sock_send, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC 
},      /* 49 = cloudabi32_sys_sock_send */
+       { AS(cloudabi_sys_sock_shutdown_args), (sy_call_t 
*)cloudabi_sys_sock_shutdown, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, 
SY_THR_STATIC },  /* 50 = cloudabi_sys_sock_shutdown */
+       { AS(cloudabi_sys_sock_stat_get_args), (sy_call_t 
*)cloudabi_sys_sock_stat_get, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, 
SY_THR_STATIC },  /* 51 = cloudabi_sys_sock_stat_get */
+       { AS(cloudabi32_sys_thread_create_args), (sy_call_t 
*)cloudabi32_sys_thread_create, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, 
SY_THR_STATIC },      /* 52 = cloudabi32_sys_thread_create */
+       { AS(cloudabi_sys_thread_exit_args), (sy_call_t 
*)cloudabi_sys_thread_exit, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC 
},      /* 53 = cloudabi_sys_thread_exit */
+       { 0, (sy_call_t *)cloudabi_sys_thread_yield, AUE_NULL, NULL, 0, 0, 
SYF_CAPENABLED, SY_THR_STATIC },     /* 54 = cloudabi_sys_thread_yield */
 };

Modified: head/sys/compat/cloudabi32/cloudabi32_systrace_args.c
==============================================================================
--- head/sys/compat/cloudabi32/cloudabi32_systrace_args.c       Wed Jul 26 
06:52:45 2017        (r321513)
+++ head/sys/compat/cloudabi32/cloudabi32_systrace_args.c       Wed Jul 26 
06:57:15 2017        (r321514)
@@ -310,16 +310,8 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
                *n_args = 3;
                break;
        }
-       /* cloudabi_sys_mem_lock */
-       case 33: {
-               struct cloudabi_sys_mem_lock_args *p = params;
-               uarg[0] = (intptr_t) p->mapping; /* const void * */
-               uarg[1] = p->mapping_len; /* size_t */
-               *n_args = 2;
-               break;
-       }
        /* cloudabi_sys_mem_map */
-       case 34: {
+       case 33: {
                struct cloudabi_sys_mem_map_args *p = params;
                uarg[0] = (intptr_t) p->addr; /* void * */
                uarg[1] = p->len; /* size_t */
@@ -331,7 +323,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
                break;
        }
        /* cloudabi_sys_mem_protect */
-       case 35: {
+       case 34: {
                struct cloudabi_sys_mem_protect_args *p = params;
                uarg[0] = (intptr_t) p->mapping; /* void * */
                uarg[1] = p->mapping_len; /* size_t */
@@ -340,7 +332,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
                break;
        }
        /* cloudabi_sys_mem_sync */
-       case 36: {
+       case 35: {
                struct cloudabi_sys_mem_sync_args *p = params;
                uarg[0] = (intptr_t) p->mapping; /* void * */
                uarg[1] = p->mapping_len; /* size_t */
@@ -348,16 +340,8 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
                *n_args = 3;
                break;
        }
-       /* cloudabi_sys_mem_unlock */
-       case 37: {
-               struct cloudabi_sys_mem_unlock_args *p = params;
-               uarg[0] = (intptr_t) p->mapping; /* const void * */
-               uarg[1] = p->mapping_len; /* size_t */
-               *n_args = 2;
-               break;
-       }
        /* cloudabi_sys_mem_unmap */
-       case 38: {
+       case 36: {
                struct cloudabi_sys_mem_unmap_args *p = params;
                uarg[0] = (intptr_t) p->mapping; /* void * */
                uarg[1] = p->mapping_len; /* size_t */
@@ -365,7 +349,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
                break;
        }
        /* cloudabi32_sys_poll */
-       case 39: {
+       case 37: {
                struct cloudabi32_sys_poll_args *p = params;
                uarg[0] = (intptr_t) p->in; /* const cloudabi32_subscription_t 
* */
                uarg[1] = (intptr_t) p->out; /* cloudabi32_event_t * */
@@ -374,7 +358,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
                break;
        }
        /* cloudabi32_sys_poll_fd */
-       case 40: {
+       case 38: {
                struct cloudabi32_sys_poll_fd_args *p = params;
                iarg[0] = p->fd; /* cloudabi_fd_t */
                uarg[1] = (intptr_t) p->in; /* const cloudabi32_subscription_t 
* */
@@ -386,7 +370,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
                break;
        }
        /* cloudabi_sys_proc_exec */
-       case 41: {
+       case 39: {
                struct cloudabi_sys_proc_exec_args *p = params;
                iarg[0] = p->fd; /* cloudabi_fd_t */
                uarg[1] = (intptr_t) p->data; /* const void * */
@@ -397,26 +381,26 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
                break;
        }
        /* cloudabi_sys_proc_exit */
-       case 42: {
+       case 40: {
                struct cloudabi_sys_proc_exit_args *p = params;
                iarg[0] = p->rval; /* cloudabi_exitcode_t */
                *n_args = 1;
                break;
        }
        /* cloudabi_sys_proc_fork */
-       case 43: {
+       case 41: {
                *n_args = 0;
                break;
        }
        /* cloudabi_sys_proc_raise */
-       case 44: {
+       case 42: {
                struct cloudabi_sys_proc_raise_args *p = params;
                iarg[0] = p->sig; /* cloudabi_signal_t */
                *n_args = 1;
                break;
        }
        /* cloudabi_sys_random_get */
-       case 45: {
+       case 43: {
                struct cloudabi_sys_random_get_args *p = params;
                uarg[0] = (intptr_t) p->buf; /* void * */
                uarg[1] = p->buf_len; /* size_t */
@@ -424,15 +408,15 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
                break;
        }
        /* cloudabi_sys_sock_accept */
-       case 46: {
+       case 44: {
                struct cloudabi_sys_sock_accept_args *p = params;
                iarg[0] = p->sock; /* cloudabi_fd_t */
-               uarg[1] = (intptr_t) p->buf; /* cloudabi_sockstat_t * */
+               uarg[1] = (intptr_t) p->unused; /* void * */
                *n_args = 2;
                break;
        }
        /* cloudabi_sys_sock_bind */
-       case 47: {
+       case 45: {
                struct cloudabi_sys_sock_bind_args *p = params;
                iarg[0] = p->sock; /* cloudabi_fd_t */
                iarg[1] = p->fd; /* cloudabi_fd_t */
@@ -442,7 +426,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
                break;
        }
        /* cloudabi_sys_sock_connect */
-       case 48: {
+       case 46: {
                struct cloudabi_sys_sock_connect_args *p = params;
                iarg[0] = p->sock; /* cloudabi_fd_t */
                iarg[1] = p->fd; /* cloudabi_fd_t */
@@ -452,7 +436,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
                break;
        }
        /* cloudabi_sys_sock_listen */
-       case 49: {
+       case 47: {
                struct cloudabi_sys_sock_listen_args *p = params;
                iarg[0] = p->sock; /* cloudabi_fd_t */
                iarg[1] = p->backlog; /* cloudabi_backlog_t */
@@ -460,7 +444,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
                break;
        }
        /* cloudabi32_sys_sock_recv */
-       case 50: {
+       case 48: {
                struct cloudabi32_sys_sock_recv_args *p = params;
                iarg[0] = p->sock; /* cloudabi_fd_t */
                uarg[1] = (intptr_t) p->in; /* const cloudabi32_recv_in_t * */
@@ -469,7 +453,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
                break;
        }
        /* cloudabi32_sys_sock_send */
-       case 51: {
+       case 49: {
                struct cloudabi32_sys_sock_send_args *p = params;
                iarg[0] = p->sock; /* cloudabi_fd_t */
                uarg[1] = (intptr_t) p->in; /* const cloudabi32_send_in_t * */
@@ -478,7 +462,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
                break;
        }
        /* cloudabi_sys_sock_shutdown */
-       case 52: {
+       case 50: {
                struct cloudabi_sys_sock_shutdown_args *p = params;
                iarg[0] = p->sock; /* cloudabi_fd_t */
                iarg[1] = p->how; /* cloudabi_sdflags_t */
@@ -486,7 +470,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
                break;
        }
        /* cloudabi_sys_sock_stat_get */
-       case 53: {
+       case 51: {
                struct cloudabi_sys_sock_stat_get_args *p = params;
                iarg[0] = p->sock; /* cloudabi_fd_t */
                uarg[1] = (intptr_t) p->buf; /* cloudabi_sockstat_t * */
@@ -495,14 +479,14 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
                break;
        }
        /* cloudabi32_sys_thread_create */
-       case 54: {
+       case 52: {
                struct cloudabi32_sys_thread_create_args *p = params;
                uarg[0] = (intptr_t) p->attr; /* cloudabi32_threadattr_t * */
                *n_args = 1;
                break;
        }
        /* cloudabi_sys_thread_exit */
-       case 55: {
+       case 53: {
                struct cloudabi_sys_thread_exit_args *p = params;
                uarg[0] = (intptr_t) p->lock; /* cloudabi_lock_t * */
                iarg[1] = p->scope; /* cloudabi_scope_t */
@@ -510,7 +494,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
                break;
        }
        /* cloudabi_sys_thread_yield */
-       case 56: {
+       case 54: {
                *n_args = 0;
                break;
        }
@@ -1058,23 +1042,10 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
                        break;
                };
                break;
-       /* cloudabi_sys_mem_lock */
+       /* cloudabi_sys_mem_map */
        case 33:
                switch(ndx) {
                case 0:
-                       p = "userland const void *";
-                       break;
-               case 1:
-                       p = "size_t";
-                       break;
-               default:
-                       break;
-               };
-               break;
-       /* cloudabi_sys_mem_map */
-       case 34:
-               switch(ndx) {
-               case 0:
                        p = "userland void *";
                        break;
                case 1:
@@ -1097,7 +1068,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
                };
                break;
        /* cloudabi_sys_mem_protect */
-       case 35:
+       case 34:
                switch(ndx) {
                case 0:
                        p = "userland void *";
@@ -1113,7 +1084,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
                };
                break;
        /* cloudabi_sys_mem_sync */
-       case 36:
+       case 35:
                switch(ndx) {
                case 0:
                        p = "userland void *";
@@ -1128,21 +1099,8 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
                        break;
                };
                break;
-       /* cloudabi_sys_mem_unlock */
-       case 37:
-               switch(ndx) {
-               case 0:
-                       p = "userland const void *";
-                       break;
-               case 1:
-                       p = "size_t";
-                       break;
-               default:
-                       break;
-               };
-               break;
        /* cloudabi_sys_mem_unmap */
-       case 38:
+       case 36:
                switch(ndx) {
                case 0:
                        p = "userland void *";
@@ -1155,7 +1113,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
                };
                break;
        /* cloudabi32_sys_poll */
-       case 39:
+       case 37:
                switch(ndx) {
                case 0:
                        p = "userland const cloudabi32_subscription_t *";
@@ -1171,7 +1129,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
                };
                break;
        /* cloudabi32_sys_poll_fd */
-       case 40:
+       case 38:
                switch(ndx) {
                case 0:
                        p = "cloudabi_fd_t";
@@ -1196,7 +1154,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
                };
                break;
        /* cloudabi_sys_proc_exec */
-       case 41:
+       case 39:
                switch(ndx) {
                case 0:
                        p = "cloudabi_fd_t";
@@ -1218,7 +1176,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
                };
                break;
        /* cloudabi_sys_proc_exit */
-       case 42:
+       case 40:
                switch(ndx) {
                case 0:
                        p = "cloudabi_exitcode_t";
@@ -1228,10 +1186,10 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
                };
                break;
        /* cloudabi_sys_proc_fork */
-       case 43:
+       case 41:
                break;
        /* cloudabi_sys_proc_raise */
-       case 44:
+       case 42:
                switch(ndx) {
                case 0:
                        p = "cloudabi_signal_t";
@@ -1241,7 +1199,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
                };
                break;
        /* cloudabi_sys_random_get */
-       case 45:
+       case 43:
                switch(ndx) {
                case 0:
                        p = "userland void *";
@@ -1254,20 +1212,20 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
                };
                break;
        /* cloudabi_sys_sock_accept */
-       case 46:
+       case 44:
                switch(ndx) {
                case 0:
                        p = "cloudabi_fd_t";
                        break;
                case 1:
-                       p = "userland cloudabi_sockstat_t *";
+                       p = "userland void *";
                        break;
                default:
                        break;
                };
                break;
        /* cloudabi_sys_sock_bind */
-       case 47:
+       case 45:
                switch(ndx) {
                case 0:
                        p = "cloudabi_fd_t";
@@ -1286,7 +1244,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
                };
                break;
        /* cloudabi_sys_sock_connect */
-       case 48:
+       case 46:
                switch(ndx) {
                case 0:
                        p = "cloudabi_fd_t";
@@ -1305,7 +1263,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
                };
                break;
        /* cloudabi_sys_sock_listen */
-       case 49:
+       case 47:
                switch(ndx) {
                case 0:
                        p = "cloudabi_fd_t";
@@ -1318,7 +1276,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
                };
                break;
        /* cloudabi32_sys_sock_recv */
-       case 50:
+       case 48:
                switch(ndx) {
                case 0:
                        p = "cloudabi_fd_t";
@@ -1334,7 +1292,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
                };
                break;
        /* cloudabi32_sys_sock_send */
-       case 51:
+       case 49:
                switch(ndx) {
                case 0:
                        p = "cloudabi_fd_t";
@@ -1350,7 +1308,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
                };
                break;
        /* cloudabi_sys_sock_shutdown */
-       case 52:
+       case 50:
                switch(ndx) {
                case 0:
                        p = "cloudabi_fd_t";
@@ -1363,7 +1321,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
                };
                break;
        /* cloudabi_sys_sock_stat_get */
-       case 53:
+       case 51:
                switch(ndx) {
                case 0:
                        p = "cloudabi_fd_t";
@@ -1379,7 +1337,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
                };
                break;
        /* cloudabi32_sys_thread_create */
-       case 54:
+       case 52:
                switch(ndx) {
                case 0:
                        p = "userland cloudabi32_threadattr_t *";
@@ -1389,7 +1347,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
                };
                break;
        /* cloudabi_sys_thread_exit */
-       case 55:
+       case 53:
                switch(ndx) {
                case 0:
                        p = "userland cloudabi_lock_t *";
@@ -1402,7 +1360,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
                };
                break;
        /* cloudabi_sys_thread_yield */
-       case 56:
+       case 54:
                break;
        default:
                break;
@@ -1580,120 +1538,110 @@ systrace_return_setargdesc(int sysnum, int ndx, char *
                if (ndx == 0 || ndx == 1)
                        p = "void";
                break;
-       /* cloudabi_sys_mem_lock */
+       /* cloudabi_sys_mem_map */
        case 33:
                if (ndx == 0 || ndx == 1)
                        p = "void";
                break;
-       /* cloudabi_sys_mem_map */
+       /* cloudabi_sys_mem_protect */
        case 34:
                if (ndx == 0 || ndx == 1)
                        p = "void";
                break;
-       /* cloudabi_sys_mem_protect */
+       /* cloudabi_sys_mem_sync */
        case 35:
                if (ndx == 0 || ndx == 1)
                        p = "void";
                break;
-       /* cloudabi_sys_mem_sync */
+       /* cloudabi_sys_mem_unmap */
        case 36:
                if (ndx == 0 || ndx == 1)
                        p = "void";
                break;
-       /* cloudabi_sys_mem_unlock */

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to