summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2017-09-28 00:01:40 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2017-09-28 00:49:05 +0200
commit52a1f1814ef530d8c78442f2bcaf28f4f2575790 (patch)
tree9bfb33f719c7c3a4be1c15fe904c485550844d82
parent2c7bbfaf4e361b482f3ccfbdbb29cc5121ca0ea8 (diff)
downloadglibc-52a1f1814ef530d8c78442f2bcaf28f4f2575790.tar.gz
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.
-rw-r--r--ChangeLog6
-rw-r--r--include/unistd.h1
-rw-r--r--misc/revoke.c4
-rw-r--r--sysdeps/mach/hurd/revoke.c4
-rw-r--r--sysdeps/unix/bsd/unlockpt.c2
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 <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);
}