diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2017-09-28 00:41:02 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2017-09-28 00:49:59 +0200 |
commit | 64a4af28a62e9f305c82bc9649bbe065fffdeb0d (patch) | |
tree | 70b8b85f7ac1b13ac568e446ebd433c945295cf2 | |
parent | 52a1f1814ef530d8c78442f2bcaf28f4f2575790 (diff) | |
download | glibc-64a4af28a62e9f305c82bc9649bbe065fffdeb0d.tar.gz glibc-64a4af28a62e9f305c82bc9649bbe065fffdeb0d.tar.xz glibc-64a4af28a62e9f305c82bc9649bbe065fffdeb0d.zip |
hurd: Fix `seekdir' symbol exposition from `rewinddir'
`seekdir' is MISC || XOPEN, it should not be exposed along `rewinddir' which is POSIX. * include/dirent.h (__seekdir): New declaration. * sysdeps/mach/hurd/seekdir.c (seekdir): Rename to __seekdir and redefine as weak alias. * sysdeps/mach/hurd/rewinddir.c (__rewinddir): Use __seekdir instead of seekdir.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | include/dirent.h | 1 | ||||
-rw-r--r-- | sysdeps/mach/hurd/rewinddir.c | 2 | ||||
-rw-r--r-- | sysdeps/mach/hurd/seekdir.c | 5 |
4 files changed, 10 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog index ff321d7e2b..737dc8f808 100644 --- a/ChangeLog +++ b/ChangeLog @@ -12,6 +12,11 @@ * sysdeps/mach/hurd/revoke.c (revoke): Likewise. * sysdeps/unix/bsd/unlockpt.c (unlockpt): Use __revoke instead of revoke. + * include/dirent.h (__seekdir): New declaration. + * sysdeps/mach/hurd/seekdir.c (seekdir): Rename to __seekdir and + redefine as weak alias. + * sysdeps/mach/hurd/rewinddir.c (__rewinddir): Use __seekdir instead + of seekdir. 2017-09-26 H.J. Lu <hongjiu.lu@intel.com> diff --git a/include/dirent.h b/include/dirent.h index 5720d589a2..d7dbf83964 100644 --- a/include/dirent.h +++ b/include/dirent.h @@ -46,6 +46,7 @@ extern int __versionsort64 (const struct dirent64 **a, extern DIR *__alloc_dir (int fd, bool close_fd, int flags, const struct stat64 *statp) attribute_hidden; extern __typeof (rewinddir) __rewinddir; +extern __typeof (seekdir) __seekdir; extern __typeof (dirfd) __dirfd; extern void __scandir_cancel_handler (void *arg) attribute_hidden; diff --git a/sysdeps/mach/hurd/rewinddir.c b/sysdeps/mach/hurd/rewinddir.c index b6791d95c3..84aa87c961 100644 --- a/sysdeps/mach/hurd/rewinddir.c +++ b/sysdeps/mach/hurd/rewinddir.c @@ -24,7 +24,7 @@ void __rewinddir (DIR *dirp) { - seekdir (dirp, (off_t) 0L); + __seekdir (dirp, (off_t) 0L); } libc_hidden_def (__rewinddir) weak_alias (__rewinddir, rewinddir) diff --git a/sysdeps/mach/hurd/seekdir.c b/sysdeps/mach/hurd/seekdir.c index 8d3020b02c..68f7ce07c5 100644 --- a/sysdeps/mach/hurd/seekdir.c +++ b/sysdeps/mach/hurd/seekdir.c @@ -22,9 +22,8 @@ #include "dirstream.h" /* Seek to position POS in DIRP. */ -/* XXX should be __seekdir ? */ void -seekdir (DIR *dirp, long int pos) +__seekdir (DIR *dirp, long int pos) { __libc_lock_lock (dirp->__lock); /* Change our entry index pointer to POS and discard any data already @@ -35,3 +34,5 @@ seekdir (DIR *dirp, long int pos) dirp->__size = 0; __libc_lock_unlock (dirp->__lock); } + +weak_alias (__seekdir, seekdir) |