summaryrefslogtreecommitdiffstats
path: root/lib/libc/sys/pwritev.c
diff options
context:
space:
mode:
authorguenther <guenther@openbsd.org>2011-10-16 06:29:56 +0000
committerguenther <guenther@openbsd.org>2011-10-16 06:29:56 +0000
commitaaac0abe0a28be3acaaffdc7761bba18f946236b (patch)
treeaf437155ae30404f4283a857602a300c56507ec8 /lib/libc/sys/pwritev.c
parentAdd stubs and manpage for __{get,set}_tcb (diff)
downloadwireguard-openbsd-aaac0abe0a28be3acaaffdc7761bba18f946236b.tar.xz
wireguard-openbsd-aaac0abe0a28be3acaaffdc7761bba18f946236b.zip
Make consistent the syscall stubs for the syscalls that got special
handling to fix up the alignment of 64bit arguments so that they do the same dance where _thread_sys_FOO is the real stub and FOO is a weak alias. For some of them, this is needed for cancellation handling. From discussions with fgsch@, ok millert@
Diffstat (limited to 'lib/libc/sys/pwritev.c')
-rw-r--r--lib/libc/sys/pwritev.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/libc/sys/pwritev.c b/lib/libc/sys/pwritev.c
index 31192152376..345d3831965 100644
--- a/lib/libc/sys/pwritev.c
+++ b/lib/libc/sys/pwritev.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pwritev.c,v 1.8 2005/08/08 08:05:37 espie Exp $ */
+/* $OpenBSD: pwritev.c,v 1.9 2011/10/16 06:29:56 guenther Exp $ */
/*
* Copyright (c) 1992, 1993
@@ -33,15 +33,22 @@
#include <sys/syscall.h>
#include <sys/uio.h>
#include <unistd.h>
+#include "thread_private.h"
register_t __syscall(quad_t, ...);
+/* pwritev is weak to support libpthread cancellation */
+
+STUB_PROTOTYPE(pwritev);
+
+STUB_ALIAS(pwritev);
+
/*
* This function provides 64-bit offset padding that
* is not supplied by GCC 1.X but is supplied by GCC 2.X.
*/
ssize_t
-pwritev(int fd, const struct iovec *iovp, int iovcnt, off_t offset)
+STUB_NAME(pwritev)(int fd, const struct iovec *iovp, int iovcnt, off_t offset)
{
return (__syscall((quad_t)SYS_pwritev, fd, iovp, iovcnt, 0, offset));