summaryrefslogtreecommitdiff
path: root/libexec/ld.so/powerpc
diff options
context:
space:
mode:
authorPhilip Guenther <guenther@cvs.openbsd.org>2013-08-13 05:52:28 +0000
committerPhilip Guenther <guenther@cvs.openbsd.org>2013-08-13 05:52:28 +0000
commitf2b95a621a9fd41d222844eda237f607eb14d49c (patch)
tree38d62981cd1caedc3a6a01713c2e4266107b7220 /libexec/ld.so/powerpc
parentbee789b12305f3c5e594fe03c965e0786969eeb7 (diff)
Switch time_t, ino_t, clock_t, and struct kevent's ident and data
members to 64bit types. Assign new syscall numbers for (almost all) the syscalls that involve the affected types, including anything with time_t, timeval, itimerval, timespec, rusage, dirent, stat, or kevent arguments. Add a d_off member to struct dirent and replace getdirentries() with getdents(), thus immensely simplifying and accelerating telldir/seekdir. Build perl with -DBIG_TIME. Bump the major on every single base library: the compat bits included here are only good enough to make the transition; the T32 compat option will be burned as soon as we've reached the new world are are happy with the snapshots for all architectures. DANGER: ABI incompatibility. Updating to this kernel requires extra work or you won't be able to login: install a snapshot instead. Much assistance in fixing userland issues from deraadt@ and tedu@ and build assistance from todd@ and otto@
Diffstat (limited to 'libexec/ld.so/powerpc')
-rw-r--r--libexec/ld.so/powerpc/syscall.h10
1 files changed, 4 insertions, 6 deletions
diff --git a/libexec/ld.so/powerpc/syscall.h b/libexec/ld.so/powerpc/syscall.h
index 57782f12c94..226e6daa50b 100644
--- a/libexec/ld.so/powerpc/syscall.h
+++ b/libexec/ld.so/powerpc/syscall.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: syscall.h,v 1.27 2013/06/09 13:10:19 miod Exp $ */
+/* $OpenBSD: syscall.h,v 1.28 2013/08/13 05:52:20 guenther Exp $ */
/*
* Copyright (c) 1998 Per Fogelstrom, Opsycon AB
@@ -236,8 +236,8 @@ _dl_fcntl(int fd, int cmd, int flag)
return status;
}
-static inline int
-_dl_getdirentries(int fd, char *buf, int nbytes, off_t *basep)
+static inline ssize_t
+_dl_getdents(int fd, char *buf, size_t nbytes)
{
register int status;
@@ -245,7 +245,6 @@ _dl_getdirentries(int fd, char *buf, int nbytes, off_t *basep)
"mr 3,%2\n\t"
"mr 4,%3\n\t"
"mr 5,%4\n\t"
- "mr 6,%5\n\t"
"sc\n\t"
"cmpwi 0, 0\n\t"
"beq 1f\n\t"
@@ -253,8 +252,7 @@ _dl_getdirentries(int fd, char *buf, int nbytes, off_t *basep)
"1:"
"mr %0,3\n\t"
: "=r" (status)
- : "I" (SYS_getdirentries), "r" (fd), "r" (buf), "r"(nbytes),
- "r" (basep)
+ : "I" (SYS_getdents), "r" (fd), "r" (buf), "r" (nbytes),
: "memory", "0", "3", "4", "5", "6");
return status;
}