summaryrefslogtreecommitdiff
path: root/libexec/ld.so
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
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')
-rw-r--r--libexec/ld.so/alpha/ldasm.S8
-rw-r--r--libexec/ld.so/alpha/syscall.h4
-rw-r--r--libexec/ld.so/amd64/ldasm.S4
-rw-r--r--libexec/ld.so/amd64/syscall.h4
-rw-r--r--libexec/ld.so/arm/ldasm.S4
-rw-r--r--libexec/ld.so/arm/syscall.h4
-rw-r--r--libexec/ld.so/dir.c10
-rw-r--r--libexec/ld.so/hppa/ldasm.S8
-rw-r--r--libexec/ld.so/hppa/syscall.h4
-rw-r--r--libexec/ld.so/i386/ldasm.S4
-rw-r--r--libexec/ld.so/i386/syscall.h4
-rw-r--r--libexec/ld.so/m68k/ldasm.S4
-rw-r--r--libexec/ld.so/m68k/syscall.h4
-rw-r--r--libexec/ld.so/m88k/ldasm.S4
-rw-r--r--libexec/ld.so/m88k/syscall.h4
-rw-r--r--libexec/ld.so/mips64/syscall.h7
-rw-r--r--libexec/ld.so/powerpc/syscall.h10
-rw-r--r--libexec/ld.so/sh/ldasm.S4
-rw-r--r--libexec/ld.so/sh/syscall.h4
-rw-r--r--libexec/ld.so/sparc/ldasm.S10
-rw-r--r--libexec/ld.so/sparc/syscall.h4
-rw-r--r--libexec/ld.so/sparc64/ldasm.S6
-rw-r--r--libexec/ld.so/sparc64/syscall.h4
23 files changed, 59 insertions, 64 deletions
diff --git a/libexec/ld.so/alpha/ldasm.S b/libexec/ld.so/alpha/ldasm.S
index 5fb82ed6d0c..dc6fc431150 100644
--- a/libexec/ld.so/alpha/ldasm.S
+++ b/libexec/ld.so/alpha/ldasm.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: ldasm.S,v 1.20 2013/06/01 09:57:57 miod Exp $ */
+/* $OpenBSD: ldasm.S,v 1.21 2013/08/13 05:52:18 guenther Exp $ */
/*
* Copyright (c) 2001 Niklas Hallqvist
@@ -276,11 +276,11 @@ LEAF_NOPROFILE(_dl_fcntl, 3)
RET
END(_dl_fcntl)
-LEAF_NOPROFILE(_dl_getdirentries, 4)
- ldiq v0, SYS_getdirentries
+LEAF_NOPROFILE(_dl_getdents, 3)
+ ldiq v0, SYS_getdents
call_pal PAL_OSF1_callsys
RET
-END(_dl_getdirentries)
+END(_dl_getdents)
/* _dl_sigprocmask does not support NULL new mask */
LEAF_NOPROFILE(_dl_sigprocmask, 4)
diff --git a/libexec/ld.so/alpha/syscall.h b/libexec/ld.so/alpha/syscall.h
index a510899e777..0475addb604 100644
--- a/libexec/ld.so/alpha/syscall.h
+++ b/libexec/ld.so/alpha/syscall.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: syscall.h,v 1.22 2013/06/09 13:10:19 miod Exp $ */
+/* $OpenBSD: syscall.h,v 1.23 2013/08/13 05:52:18 guenther Exp $ */
/*
* Copyright (c) 2001 Niklas Hallqvist
@@ -48,7 +48,7 @@ int _dl_open(const char *, int);
ssize_t _dl_read(int, const char *, size_t);
int _dl_fstat(int, struct stat *);
int _dl_fcntl(int, int, ...);
-int _dl_getdirentries(int, char *, int, off_t *);
+ssize_t _dl_getdents(int, char *, size_t);
long _dl__syscall(quad_t, ...);
int _dl_sigprocmask(int, const sigset_t *, sigset_t *);
int _dl_sysctl(const int *, u_int, void *, size_t *, void *, size_t);
diff --git a/libexec/ld.so/amd64/ldasm.S b/libexec/ld.so/amd64/ldasm.S
index b2985fddc53..da470d97c33 100644
--- a/libexec/ld.so/amd64/ldasm.S
+++ b/libexec/ld.so/amd64/ldasm.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: ldasm.S,v 1.12 2013/06/01 09:57:58 miod Exp $ */
+/* $OpenBSD: ldasm.S,v 1.13 2013/08/13 05:52:18 guenther Exp $ */
/*
* Copyright (c) 2002,2004 Dale Rahn
@@ -90,7 +90,7 @@ DL_SYSCALL(read)
DL_SYSCALL(write)
DL_SYSCALL(close)
DL_SYSCALL(issetugid)
-DL_SYSCALL(getdirentries)
+DL_SYSCALL(getdents)
DL_SYSCALL(mprotect)
DL_SYSCALL(munmap)
DL_SYSCALL(gettimeofday)
diff --git a/libexec/ld.so/amd64/syscall.h b/libexec/ld.so/amd64/syscall.h
index b5996124b7f..4191429a571 100644
--- a/libexec/ld.so/amd64/syscall.h
+++ b/libexec/ld.so/amd64/syscall.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: syscall.h,v 1.10 2013/06/09 13:10:19 miod Exp $ */
+/* $OpenBSD: syscall.h,v 1.11 2013/08/13 05:52:18 guenther Exp $ */
/*
* Copyright (c) 2001 Niklas Hallqvist
@@ -49,7 +49,7 @@ int _dl_open(const char *, int);
ssize_t _dl_read(int, const char *, size_t);
int _dl_fstat(int, struct stat *);
int _dl_fcntl(int, int, ...);
-int _dl_getdirentries(int, char *, int, off_t *);
+ssize_t _dl_getdents(int, char *, size_t);
int _dl_sigprocmask(int, const sigset_t *, sigset_t *);
int _dl_sysctl(const int *, u_int, void *, size_t *, void *, size_t);
int _dl_gettimeofday(struct timeval *, struct timezone *);
diff --git a/libexec/ld.so/arm/ldasm.S b/libexec/ld.so/arm/ldasm.S
index 413ba7b6093..36eb0f17031 100644
--- a/libexec/ld.so/arm/ldasm.S
+++ b/libexec/ld.so/arm/ldasm.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: ldasm.S,v 1.10 2013/06/01 09:57:58 miod Exp $ */
+/* $OpenBSD: ldasm.S,v 1.11 2013/08/13 05:52:18 guenther Exp $ */
/*
* Copyright (c) 2004 Dale Rahn
@@ -120,7 +120,7 @@ DL_SYSCALL(utrace)
DL_SYSCALL2(getcwd,__getcwd)
DL_SYSCALL2(sysctl,__sysctl)
-DL_SYSCALL(getdirentries)
+DL_SYSCALL(getdents)
.global _dl_sigprocmask
.type _dl_sigprocmask%function
diff --git a/libexec/ld.so/arm/syscall.h b/libexec/ld.so/arm/syscall.h
index b75681a78b1..7551464b0a1 100644
--- a/libexec/ld.so/arm/syscall.h
+++ b/libexec/ld.so/arm/syscall.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: syscall.h,v 1.10 2013/06/09 13:10:19 miod Exp $ */
+/* $OpenBSD: syscall.h,v 1.11 2013/08/13 05:52:18 guenther Exp $ */
/*
* Copyright (c) 2001 Niklas Hallqvist
@@ -49,7 +49,7 @@ int _dl_open(const char *, int);
ssize_t _dl_read(int, const char *, size_t);
int _dl_fstat(int, struct stat *);
int _dl_fcntl(int, int, ...);
-int _dl_getdirentries(int, char *, int, off_t *);
+ssize_t _dl_getdents(int, char *, size_t);
int _dl_sigprocmask(int, const sigset_t *, sigset_t *);
int _dl_sysctl(const int *, u_int, void *, size_t *, void *, size_t);
int _dl_gettimeofday(struct timeval *, struct timezone *);
diff --git a/libexec/ld.so/dir.c b/libexec/ld.so/dir.c
index 34fac9cf6b4..e08a5bd64e8 100644
--- a/libexec/ld.so/dir.c
+++ b/libexec/ld.so/dir.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: dir.c,v 1.16 2012/03/21 04:28:45 matthew Exp $ */
+/* $OpenBSD: dir.c,v 1.17 2013/08/13 05:52:17 guenther Exp $ */
/*
* Copyright (c) 1983, 1993
* The Regents of the University of California. All rights reserved.
@@ -46,10 +46,9 @@
struct _dl_dirdesc {
int dd_fd; /* file descriptor associated with directory */
long dd_loc; /* offset in current buffer */
- long dd_size; /* amount of data returned by getdirentries */
+ long dd_size; /* amount of data returned by getdents() */
char *dd_buf; /* data buffer */
int dd_len; /* size of data buffer */
- off_t dd_seek; /* magic cookie returned by getdirentries */
};
/*
@@ -81,7 +80,6 @@ _dl_opendir(const char *name)
_dl_close (fd);
return (NULL);
}
- dirp->dd_seek = 0;
dirp->dd_loc = 0;
dirp->dd_fd = fd;
@@ -121,8 +119,8 @@ _dl_readdir(_dl_DIR *dirp)
dirp->dd_loc = 0;
}
if (dirp->dd_loc == 0) {
- dirp->dd_size = _dl_getdirentries(dirp->dd_fd,
- dirp->dd_buf, dirp->dd_len, &dirp->dd_seek);
+ dirp->dd_size = _dl_getdents(dirp->dd_fd,
+ dirp->dd_buf, dirp->dd_len);
if (dirp->dd_size <= 0)
return (NULL);
}
diff --git a/libexec/ld.so/hppa/ldasm.S b/libexec/ld.so/hppa/ldasm.S
index 684a898fa52..a2283749f85 100644
--- a/libexec/ld.so/hppa/ldasm.S
+++ b/libexec/ld.so/hppa/ldasm.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: ldasm.S,v 1.10 2013/06/01 09:57:58 miod Exp $ */
+/* $OpenBSD: ldasm.S,v 1.11 2013/08/13 05:52:19 guenther Exp $ */
/*
* Copyright (c) 2004 Michael Shalayeff
@@ -250,11 +250,11 @@ ENTRY(_dl_sysctl,0)
nop
EXIT(_dl_issetugid)
-ENTRY(_dl_getdirentries,0)
- SYSCALL(getdirentries)
+ENTRY(_dl_getdents,0)
+ SYSCALL(getdents)
bv r0(rp)
nop
-EXIT(_dl_getdirentries)
+EXIT(_dl_getdents)
ENTRY(_dl_gettimeofday,0)
SYSCALL(gettimeofday)
diff --git a/libexec/ld.so/hppa/syscall.h b/libexec/ld.so/hppa/syscall.h
index b5996124b7f..2b622b745c6 100644
--- a/libexec/ld.so/hppa/syscall.h
+++ b/libexec/ld.so/hppa/syscall.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: syscall.h,v 1.10 2013/06/09 13:10:19 miod Exp $ */
+/* $OpenBSD: syscall.h,v 1.11 2013/08/13 05:52:19 guenther Exp $ */
/*
* Copyright (c) 2001 Niklas Hallqvist
@@ -49,7 +49,7 @@ int _dl_open(const char *, int);
ssize_t _dl_read(int, const char *, size_t);
int _dl_fstat(int, struct stat *);
int _dl_fcntl(int, int, ...);
-int _dl_getdirentries(int, char *, int, off_t *);
+ssize_t _dl_getdents(int, char *, size_t);
int _dl_sigprocmask(int, const sigset_t *, sigset_t *);
int _dl_sysctl(const int *, u_int, void *, size_t *, void *, size_t);
int _dl_gettimeofday(struct timeval *, struct timezone *);
diff --git a/libexec/ld.so/i386/ldasm.S b/libexec/ld.so/i386/ldasm.S
index a76fe547176..d20a7ae65bd 100644
--- a/libexec/ld.so/i386/ldasm.S
+++ b/libexec/ld.so/i386/ldasm.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: ldasm.S,v 1.14 2013/06/01 09:57:58 miod Exp $ */
+/* $OpenBSD: ldasm.S,v 1.15 2013/08/13 05:52:19 guenther Exp $ */
/*
* Copyright (c) 2002 Dale Rahn
@@ -122,7 +122,7 @@ DL_SYSCALL(lstat)
DL_SYSCALL(utrace)
DL_SYSCALL2(getcwd,__getcwd)
DL_SYSCALL2(sysctl,__sysctl)
-DL_SYSCALL(getdirentries)
+DL_SYSCALL(getdents)
.L_cerr:
/* error: result = -errno; - handled here. */
diff --git a/libexec/ld.so/i386/syscall.h b/libexec/ld.so/i386/syscall.h
index f6286866e94..7f71f1e725d 100644
--- a/libexec/ld.so/i386/syscall.h
+++ b/libexec/ld.so/i386/syscall.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: syscall.h,v 1.14 2013/06/09 13:10:19 miod Exp $ */
+/* $OpenBSD: syscall.h,v 1.15 2013/08/13 05:52:19 guenther Exp $ */
/*
* Copyright (c) 2001 Niklas Hallqvist
@@ -49,7 +49,7 @@ int _dl_open(const char *, int);
ssize_t _dl_read(int, const char *, size_t);
int _dl_fstat(int, struct stat *);
int _dl_fcntl(int, int, ...);
-int _dl_getdirentries(int, char *, int, off_t *);
+ssize_t _dl_getdents(int, char *, size_t);
int _dl_sigprocmask(int, const sigset_t *, sigset_t *);
int _dl_sysctl(const int *, u_int, void *, size_t *, void *, size_t);
int _dl_gettimeofday(struct timeval *, struct timezone *);
diff --git a/libexec/ld.so/m68k/ldasm.S b/libexec/ld.so/m68k/ldasm.S
index ac68025eba1..3fb9e308388 100644
--- a/libexec/ld.so/m68k/ldasm.S
+++ b/libexec/ld.so/m68k/ldasm.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: ldasm.S,v 1.4 2013/06/01 09:57:58 miod Exp $ */
+/* $OpenBSD: ldasm.S,v 1.5 2013/08/13 05:52:19 guenther Exp $ */
/*
* Copyright (c) 2006 Dale Rahn
@@ -191,7 +191,7 @@ DL_SYSCALL2(getcwd,__getcwd)
DL_SYSCALL2(sysctl,__sysctl)
rts
-DL_SYSCALL(getdirentries)
+DL_SYSCALL(getdents)
rts
.global _dl_sigprocmask
diff --git a/libexec/ld.so/m68k/syscall.h b/libexec/ld.so/m68k/syscall.h
index 3bee85e30c4..247aabc12a7 100644
--- a/libexec/ld.so/m68k/syscall.h
+++ b/libexec/ld.so/m68k/syscall.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: syscall.h,v 1.5 2013/06/09 13:10:19 miod Exp $ */
+/* $OpenBSD: syscall.h,v 1.6 2013/08/13 05:52:19 guenther Exp $ */
/*
* Copyright (c) 2001 Niklas Hallqvist
@@ -49,7 +49,7 @@ int _dl_open(const char *, int);
ssize_t _dl_read(int, const char *, size_t);
int _dl_fstat(int, struct stat *);
int _dl_fcntl(int, int, ...);
-int _dl_getdirentries(int, char *, int, off_t *);
+ssize_t _dl_getdents(int, char *, size_t);
int _dl_sigprocmask(int, const sigset_t *, sigset_t *);
int _dl_sysctl(const int *, u_int, void *, size_t *, void *, size_t);
int _dl_gettimeofday(struct timeval *, struct timezone *);
diff --git a/libexec/ld.so/m88k/ldasm.S b/libexec/ld.so/m88k/ldasm.S
index 3f78585d15e..dcee52e6d0c 100644
--- a/libexec/ld.so/m88k/ldasm.S
+++ b/libexec/ld.so/m88k/ldasm.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: ldasm.S,v 1.6 2013/06/01 09:57:58 miod Exp $ */
+/* $OpenBSD: ldasm.S,v 1.7 2013/08/13 05:52:20 guenther Exp $ */
/*
* Copyright (c) 2013 Miodrag Vallat.
@@ -212,7 +212,7 @@ DL_SYSCALL2(getcwd,__getcwd)
DL_SYSCALL2(sysctl,__sysctl)
jmp %r1
-DL_SYSCALL(getdirentries)
+DL_SYSCALL(getdents)
jmp %r1
ENTRY(_dl_sigprocmask)
diff --git a/libexec/ld.so/m88k/syscall.h b/libexec/ld.so/m88k/syscall.h
index a3e36731a26..b3302624141 100644
--- a/libexec/ld.so/m88k/syscall.h
+++ b/libexec/ld.so/m88k/syscall.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: syscall.h,v 1.6 2013/06/09 13:10:19 miod Exp $ */
+/* $OpenBSD: syscall.h,v 1.7 2013/08/13 05:52:20 guenther Exp $ */
/*
* Copyright (c) 2001 Niklas Hallqvist
@@ -49,7 +49,7 @@ int _dl_open(const char *, int);
ssize_t _dl_read(int, const char *, size_t);
int _dl_fstat(int, struct stat *);
int _dl_fcntl(int, int, ...);
-int _dl_getdirentries(int, char *, int, off_t *);
+ssize_t _dl_getdents(int, char *, size_t);
int _dl_sigprocmask(int, const sigset_t *, sigset_t *);
int _dl_sysctl(const int *, u_int, void *, size_t *, void *, size_t);
int _dl_gettimeofday(struct timeval *, struct timezone *);
diff --git a/libexec/ld.so/mips64/syscall.h b/libexec/ld.so/mips64/syscall.h
index afd5fa686d2..6549d3d8dff 100644
--- a/libexec/ld.so/mips64/syscall.h
+++ b/libexec/ld.so/mips64/syscall.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: syscall.h,v 1.11 2013/06/09 13:10:19 miod Exp $ */
+/* $OpenBSD: syscall.h,v 1.12 2013/08/13 05:52:20 guenther Exp $ */
/*
* Copyright (c) 1998-2002 Opsycon AB, Sweden.
@@ -227,7 +227,7 @@ _dl_fcntl(int fd, int cmd, int flag)
}
extern inline ssize_t
-_dl_getdirentries(int fd, char *buf, int nbytes, off_t *basep)
+_dl_getdents(int fd, char *buf, size_t nbytes)
{
register int status __asm__ ("$2");
@@ -235,14 +235,13 @@ _dl_getdirentries(int fd, char *buf, int nbytes, off_t *basep)
"move $4,%2\n\t"
"move $5,%3\n\t"
"move $6,%4\n\t"
- "move $7,%5\n\t"
"li $2,%1\n\t"
"syscall\n\t"
"beq $7,$0,1f\n\t"
"li $2,-1\n\t"
"1:"
: "=r" (status)
- : "I" (SYS_getdirentries), "r" (fd), "r" (buf), "r" (nbytes), "r" (basep)
+ : "I" (SYS_getdents), "r" (fd), "r" (buf), "r" (nbytes)
: "memory", "$3", "$4", "$5", "$6", "$7", "$8", "$9",
"$10","$11","$12","$13","$14","$15","$24","$25");
return status;
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;
}
diff --git a/libexec/ld.so/sh/ldasm.S b/libexec/ld.so/sh/ldasm.S
index 0fae819d0f0..5a93d4748f0 100644
--- a/libexec/ld.so/sh/ldasm.S
+++ b/libexec/ld.so/sh/ldasm.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: ldasm.S,v 1.11 2013/06/01 09:57:58 miod Exp $ */
+/* $OpenBSD: ldasm.S,v 1.12 2013/08/13 05:52:20 guenther Exp $ */
/*
* Copyright (c) 2006 Dale Rahn
@@ -201,7 +201,7 @@ DL_SYSCALL(utrace)
DL_SYSCALL2(getcwd,__getcwd)
DL_SYSCALL2(sysctl,__sysctl)
-DL_SYSCALL(getdirentries)
+DL_SYSCALL(getdents)
.global _dl_sigprocmask
.type _dl_sigprocmask%function
diff --git a/libexec/ld.so/sh/syscall.h b/libexec/ld.so/sh/syscall.h
index 214bd9fb74d..431dc2d292f 100644
--- a/libexec/ld.so/sh/syscall.h
+++ b/libexec/ld.so/sh/syscall.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: syscall.h,v 1.8 2013/06/09 13:10:19 miod Exp $ */
+/* $OpenBSD: syscall.h,v 1.9 2013/08/13 05:52:20 guenther Exp $ */
/*
* Copyright (c) 2001 Niklas Hallqvist
@@ -49,7 +49,7 @@ int _dl_open(const char *, int);
ssize_t _dl_read(int, const char *, size_t);
int _dl_fstat(int, struct stat *);
int _dl_fcntl(int, int, ...);
-int _dl_getdirentries(int, char *, int, off_t *);
+ssize_t _dl_getdents(int, char *, size_t);
int _dl_sigprocmask(int, const sigset_t *, sigset_t *);
int _dl_sysctl(const int *, u_int, void *, size_t *, void *, size_t);
int _dl_gettimeofday(struct timeval *, struct timezone *);
diff --git a/libexec/ld.so/sparc/ldasm.S b/libexec/ld.so/sparc/ldasm.S
index b46cd19317f..ab6e633e058 100644
--- a/libexec/ld.so/sparc/ldasm.S
+++ b/libexec/ld.so/sparc/ldasm.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: ldasm.S,v 1.20 2013/06/01 09:57:58 miod Exp $ */
+/* $OpenBSD: ldasm.S,v 1.21 2013/08/13 05:52:21 guenther Exp $ */
/*
* Copyright (c) 2001 Jason L. Wright (jason@thought.net)
@@ -267,10 +267,10 @@ _dl_fcntl:
.section ".text"
.align 4
- .globl _dl_getdirentries
- .type _dl_getdirentries,@function
-_dl_getdirentries:
- mov SYS_getdirentries | SYSCALL_G2RFLAG, %g1 ! call sys_getdirentries
+ .globl _dl_getdents
+ .type _dl_getdents,@function
+_dl_getdents:
+ mov SYS_getdents | SYSCALL_G2RFLAG, %g1 ! call sys_getdents
add %o7, 8, %g2 ! just return on success
t ST_SYSCALL ! off to wonderland
retl
diff --git a/libexec/ld.so/sparc/syscall.h b/libexec/ld.so/sparc/syscall.h
index ee1e79b2d6e..78c847d7ad4 100644
--- a/libexec/ld.so/sparc/syscall.h
+++ b/libexec/ld.so/sparc/syscall.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: syscall.h,v 1.15 2013/06/09 13:10:19 miod Exp $ */
+/* $OpenBSD: syscall.h,v 1.16 2013/08/13 05:52:21 guenther Exp $ */
/*
* Copyright (c) 2001 Niklas Hallqvist
@@ -49,7 +49,7 @@ int _dl_open(const char *, int);
ssize_t _dl_read(int, const char *, size_t);
int _dl_fstat(int, struct stat *);
int _dl_fcntl(int, int, ...);
-int _dl_getdirentries(int, char *, int, off_t *);
+ssize_t _dl_getdents(int, char *, size_t);
int _dl_sigprocmask(int, const sigset_t *, sigset_t *);
int _dl_sysctl(const int *, u_int, void *, size_t *, void *, size_t);
int _dl_gettimeofday(struct timeval *, struct timezone *);
diff --git a/libexec/ld.so/sparc64/ldasm.S b/libexec/ld.so/sparc64/ldasm.S
index f99291a2a27..982deaaee59 100644
--- a/libexec/ld.so/sparc64/ldasm.S
+++ b/libexec/ld.so/sparc64/ldasm.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: ldasm.S,v 1.31 2013/06/01 09:57:58 miod Exp $ */
+/* $OpenBSD: ldasm.S,v 1.32 2013/08/13 05:52:21 guenther Exp $ */
/* $NetBSD: rtld_start.S,v 1.5 2001/08/14 22:17:48 eeh Exp $ */
/*
@@ -281,8 +281,8 @@ _ENTRY(_dl_fcntl)
retl
sub %g0, %o0, %o0 ! error: result = -errno
-_ENTRY(_dl_getdirentries)
- mov SYS_getdirentries | SYSCALL_G2RFLAG, %g1 ! call sys_getdirentries
+_ENTRY(_dl_getdents)
+ mov SYS_getdents | SYSCALL_G2RFLAG, %g1 ! call sys_getdents
add %o7, 8, %g2 ! just return on success
t ST_SYSCALL ! off to wonderland
retl
diff --git a/libexec/ld.so/sparc64/syscall.h b/libexec/ld.so/sparc64/syscall.h
index 5c8e0462d0b..41f294d0b55 100644
--- a/libexec/ld.so/sparc64/syscall.h
+++ b/libexec/ld.so/sparc64/syscall.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: syscall.h,v 1.22 2013/06/09 13:10:19 miod Exp $ */
+/* $OpenBSD: syscall.h,v 1.23 2013/08/13 05:52:21 guenther Exp $ */
/*
* Copyright (c) 2001 Niklas Hallqvist
@@ -49,7 +49,7 @@ int _dl_open(const char *, int);
ssize_t _dl_read(int, const char *, size_t);
int _dl_fstat(int, struct stat *);
int _dl_fcntl(int, int, ...);
-int _dl_getdirentries(int, char *, int, off_t *);
+ssize_t _dl_getdents(int, char *, size_t);
int _dl_sigprocmask(int, const sigset_t *, sigset_t *);
int _dl_sysctl(const int *, u_int, void *, size_t *, void *, size_t);
int _dl_gettimeofday(struct timeval *, struct timezone *);