diff options
author | Philip Guenther <guenther@cvs.openbsd.org> | 2013-08-13 05:52:28 +0000 |
---|---|---|
committer | Philip Guenther <guenther@cvs.openbsd.org> | 2013-08-13 05:52:28 +0000 |
commit | f2b95a621a9fd41d222844eda237f607eb14d49c (patch) | |
tree | 38d62981cd1caedc3a6a01713c2e4266107b7220 /libexec/ld.so/powerpc | |
parent | bee789b12305f3c5e594fe03c965e0786969eeb7 (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.h | 10 |
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; } |