From 52a1f1814ef530d8c78442f2bcaf28f4f2575790 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Thu, 28 Sep 2017 00:01:40 +0200 Subject: hurd: Fix `revoke' symbol exposition from `unlockpt' `revoke' is MISC only, it should not be exposed along `unlockpt' which is XOPEN. * include/unistd.h (__revoke): New declaration. * misc/revoke.c (revoke): Rename to __revoke, and redefine as weak alias. * sysdeps/mach/hurd/revoke.c (revoke): Likewise. * sysdeps/unix/bsd/unlockpt.c (unlockpt): Use __revoke instead of revoke. --- ChangeLog | 6 ++++++ include/unistd.h | 1 + misc/revoke.c | 4 +++- sysdeps/mach/hurd/revoke.c | 4 +++- sysdeps/unix/bsd/unlockpt.c | 2 +- 5 files changed, 14 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index a535da875c..ff321d7e2b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,6 +6,12 @@ * sysdeps/posix/dirfd/dirfd.c (dirfd): Likewise. * sysdeps/mach/hurd/dirfd.c (dirfd): Likewise. * io/ftw.c (open_dir_stream, ftw_dir): Use __dirfd instead of dirfd. + * include/unistd.h (__revoke): New declaration. + * misc/revoke.c (revoke): Rename to __revoke, and redefine as weak + alias. + * sysdeps/mach/hurd/revoke.c (revoke): Likewise. + * sysdeps/unix/bsd/unlockpt.c (unlockpt): Use __revoke instead of + revoke. 2017-09-26 H.J. Lu diff --git a/include/unistd.h b/include/unistd.h index a5625ed7f4..bfe0e4de47 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -130,6 +130,7 @@ extern int __symlink (const char *__from, const char *__to); extern ssize_t __readlink (const char *__path, char *__buf, size_t __len); extern int __unlink (const char *__name); extern int __gethostname (char *__name, size_t __len); +extern int __revoke (const char *__file); extern int __profil (unsigned short int *__sample_buffer, size_t __size, size_t __offset, unsigned int __scale); extern int __getdtablesize (void); diff --git a/misc/revoke.c b/misc/revoke.c index d953216246..21df2bbf90 100644 --- a/misc/revoke.c +++ b/misc/revoke.c @@ -20,9 +20,11 @@ #include int -revoke (const char *file) +__revoke (const char *file) { __set_errno (ENOSYS); return -1; } + +weak_alias (__revoke, revoke) stub_warning (revoke) diff --git a/sysdeps/mach/hurd/revoke.c b/sysdeps/mach/hurd/revoke.c index 15b955b733..2f47f42de6 100644 --- a/sysdeps/mach/hurd/revoke.c +++ b/sysdeps/mach/hurd/revoke.c @@ -21,7 +21,7 @@ #include int -revoke (const char *file_name) +__revoke (const char *file_name) { error_t err; file_t file = __file_name_lookup (file_name, 0, 0); @@ -36,3 +36,5 @@ revoke (const char *file_name) return __hurd_fail (err); return 0; } + +weak_alias (__revoke, revoke) diff --git a/sysdeps/unix/bsd/unlockpt.c b/sysdeps/unix/bsd/unlockpt.c index 7388c98523..ca4e7c654e 100644 --- a/sysdeps/unix/bsd/unlockpt.c +++ b/sysdeps/unix/bsd/unlockpt.c @@ -32,5 +32,5 @@ unlockpt (int fd) /* BSD doesn't have a lock, but it does have `revoke'. */ if (__ptsname_r (fd, buf, sizeof (buf))) return -1; - return revoke (buf); + return __revoke (buf); } -- cgit v1.2.3