[hurd,commited,2/4] hurd: Fix `revoke' symbol exposition from `unlockpt'

Message ID 20170927231742.9050-3-samuel.thibault@ens-lyon.org
State Committed, archived
Headers

Commit Message

Samuel Thibault Sept. 27, 2017, 11:17 p.m. UTC
  `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(-)
  

Patch

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  <hongjiu.lu@intel.com>
 
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 <errno.h>
 
 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 <hurd.h>
 
 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);
 }