svn commit: r321514 - in head: sys/compat/cloudabi sys/compat/cloudabi32 sys/compat/cloudabi64 sys/contrib/cloudabi usr.bin/truss

Ed Schouten ed at FreeBSD.org
Wed Jul 26 06:57:17 UTC 2017


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 ***


More information about the svn-src-head mailing list