summaryrefslogtreecommitdiff
path: root/libc
diff options
context:
space:
mode:
Diffstat (limited to 'libc')
-rw-r--r--libc/sysdeps/linux/common/preadv.c7
-rw-r--r--libc/sysdeps/linux/common/pwritev.c7
2 files changed, 12 insertions, 2 deletions
diff --git a/libc/sysdeps/linux/common/preadv.c b/libc/sysdeps/linux/common/preadv.c
index b90291b5a..fd9dde4b9 100644
--- a/libc/sysdeps/linux/common/preadv.c
+++ b/libc/sysdeps/linux/common/preadv.c
@@ -23,6 +23,11 @@
ssize_t
preadv (int fd, const struct iovec *vector, int count, off_t offset)
{
- return INLINE_SYSCALL (preadv, 4, fd, vector, count, offset);
+ unsigned long pos_l, pos_h;
+
+ pos_h = (unsigned long)((long long)offset >> 32);
+ pos_l = (unsigned long)((long long)offset);
+
+ return INLINE_SYSCALL (preadv, 5, fd, vector, count, pos_l, pos_h);
}
#endif
diff --git a/libc/sysdeps/linux/common/pwritev.c b/libc/sysdeps/linux/common/pwritev.c
index a1880ed32..bef5bcf69 100644
--- a/libc/sysdeps/linux/common/pwritev.c
+++ b/libc/sysdeps/linux/common/pwritev.c
@@ -23,6 +23,11 @@
ssize_t
pwritev (int fd, const struct iovec *vector, int count, off_t offset)
{
- return INLINE_SYSCALL (pwritev, 4, fd, vector, count, offset);
+ unsigned long pos_l, pos_h;
+
+ pos_h = (unsigned long)((long long)offset >> 32);
+ pos_l = (unsigned long)((long long)offset);
+
+ return INLINE_SYSCALL (pwritev, 5, fd, vector, count, pos_l, pos_h);
}
#endif