aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog14
-rw-r--r--include/dirent.h13
-rw-r--r--sysdeps/mach/hurd/readdir64.c1
-rw-r--r--sysdeps/unix/sysv/linux/i386/readdir64.c1
-rw-r--r--sysdeps/unix/sysv/linux/readdir64.c1
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/readdir.c1
6 files changed, 23 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 98d572b8da..628b11452f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,20 @@
2017-10-01 H.J. Lu <hongjiu.lu@intel.com>
[BZ #18822]
+ * include/dirent.h (__opendir): Always add attribute_hidden.
+ (__fdopendir): Likewise.
+ (__closedir): Likewise.
+ (__readdir): Likewise.
+ (__readdir64): Add libc_hidden_proto.
+ * sysdeps/mach/hurd/readdir64.c (__readdir64): Add libc_hidden_def.
+ * sysdeps/unix/sysv/linux/i386/readdir64.c (__readdir64): Likewise.
+ * sysdeps/unix/sysv/linux/readdir64.c (__readdir64): Likewise.
+ * sysdeps/unix/sysv/linux/wordsize-64/readdir.c (__GI___readdir64):
+ New alias.
+
+2017-10-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ [BZ #18822]
* include/aliases.h (__getaliasbyname_r): Add attribute_hidden.
* include/netdb.h (__gethostbyaddr_r): Likewise.
(__gethostbyname_r): Likewise.
diff --git a/include/dirent.h b/include/dirent.h
index d7dbf83964..6fcc2f391b 100644
--- a/include/dirent.h
+++ b/include/dirent.h
@@ -15,12 +15,13 @@ struct scandir_cancel_struct
};
/* Now define the internal interfaces. */
-extern DIR *__opendir (const char *__name);
+extern DIR *__opendir (const char *__name) attribute_hidden;
extern DIR *__opendirat (int dfd, const char *__name) attribute_hidden;
-extern DIR *__fdopendir (int __fd);
-extern int __closedir (DIR *__dirp);
-extern struct dirent *__readdir (DIR *__dirp);
+extern DIR *__fdopendir (int __fd) attribute_hidden;
+extern int __closedir (DIR *__dirp) attribute_hidden;
+extern struct dirent *__readdir (DIR *__dirp) attribute_hidden;
extern struct dirent64 *__readdir64 (DIR *__dirp);
+libc_hidden_proto (__readdir64)
extern int __readdir_r (DIR *__dirp, struct dirent *__entry,
struct dirent **__result);
extern int __readdir64_r (DIR *__dirp, struct dirent64 *__entry,
@@ -77,10 +78,6 @@ libc_hidden_proto (__scandirat)
libc_hidden_proto (scandirat64)
# if IS_IN (rtld)
-extern __typeof (__closedir) __closedir attribute_hidden;
-extern __typeof (__fdopendir) __fdopendir attribute_hidden;
-extern __typeof (__readdir) __readdir attribute_hidden;
-extern __typeof (__readdir64) __readdir64 attribute_hidden;
extern __typeof (__rewinddir) __rewinddir attribute_hidden;
# endif
# endif
diff --git a/sysdeps/mach/hurd/readdir64.c b/sysdeps/mach/hurd/readdir64.c
index f422fcff04..bad0bcb559 100644
--- a/sysdeps/mach/hurd/readdir64.c
+++ b/sysdeps/mach/hurd/readdir64.c
@@ -98,4 +98,5 @@ __readdir64 (DIR *dirp)
return dp;
}
+libc_hidden_def (__readdir64)
weak_alias (__readdir64, readdir64)
diff --git a/sysdeps/unix/sysv/linux/i386/readdir64.c b/sysdeps/unix/sysv/linux/i386/readdir64.c
index da3defd379..013bb252f4 100644
--- a/sysdeps/unix/sysv/linux/i386/readdir64.c
+++ b/sysdeps/unix/sysv/linux/i386/readdir64.c
@@ -27,6 +27,7 @@
#undef __GETDENTS
#undef DIRENT_TYPE
+libc_hidden_def (__readdir64)
versioned_symbol (libc, __readdir64, readdir64, GLIBC_2_2);
#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
diff --git a/sysdeps/unix/sysv/linux/readdir64.c b/sysdeps/unix/sysv/linux/readdir64.c
index 224f53db88..6d154fe988 100644
--- a/sysdeps/unix/sysv/linux/readdir64.c
+++ b/sysdeps/unix/sysv/linux/readdir64.c
@@ -4,4 +4,5 @@
#include <sysdeps/posix/readdir.c>
+libc_hidden_def (__readdir64)
weak_alias (__readdir64, readdir64)
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/readdir.c b/sysdeps/unix/sysv/linux/wordsize-64/readdir.c
index e197d93b00..0d5798849d 100644
--- a/sysdeps/unix/sysv/linux/wordsize-64/readdir.c
+++ b/sysdeps/unix/sysv/linux/wordsize-64/readdir.c
@@ -3,5 +3,6 @@
#include <sysdeps/posix/readdir.c>
#undef __readdir64
strong_alias (__readdir, __readdir64)
+strong_alias (__readdir, __GI___readdir64)
#undef readdir64
weak_alias (__readdir, readdir64)