diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2015-10-15 14:15:26 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2015-10-15 14:15:41 -0700 |
commit | 8303c7409cee86f42485177061d1e0ce04c07e9f (patch) | |
tree | 33ed00614484523eded59057351e95f84ce40969 | |
parent | d6e855d810730193280276a2d30584437e2abf4d (diff) | |
download | glibc-8303c7409cee86f42485177061d1e0ce04c07e9f.tar glibc-8303c7409cee86f42485177061d1e0ce04c07e9f.tar.gz glibc-8303c7409cee86f42485177061d1e0ce04c07e9f.tar.bz2 glibc-8303c7409cee86f42485177061d1e0ce04c07e9f.zip |
Mark internal dirent functions hidden
Since internal dirent functions are only used internally in ld.so and
libc.so, they can be made hidden.
[BZ #19122]
* include/dirent.h (__opendirat): Add attribute_hidden.
(__getdents): Likewise.
(__getdents64): Likewise.
(__alloc_dir): Likewise.
[IS_IN (rtld)] (__closedir): Likewise.
[IS_IN (rtld)] (__fdopendir): Likewise.
[IS_IN (rtld)] (__readdir): Likewise.
[IS_IN (rtld)] (__readdir64): Likewise.
[IS_IN (rtld)] (__rewinddir): Likewise.
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | include/dirent.h | 17 |
2 files changed, 23 insertions, 4 deletions
@@ -1,6 +1,16 @@ 2015-10-15 H.J. Lu <hongjiu.lu@intel.com> [BZ #19122] + * include/dirent.h (__opendirat): Add attribute_hidden. + (__getdents): Likewise. + (__getdents64): Likewise. + (__alloc_dir): Likewise. + [IS_IN (rtld)] (__closedir): Likewise. + [IS_IN (rtld)] (__fdopendir): Likewise. + [IS_IN (rtld)] (__readdir): Likewise. + [IS_IN (rtld)] (__readdir64): Likewise. + [IS_IN (rtld)] (__rewinddir): Likewise. + * include/dlfcn.h (_dl_catch_error): Moved to ... * sysdeps/generic/ldsodefs.h (_dl_catch_error): Add attribute_hidden. diff --git a/include/dirent.h b/include/dirent.h index 258f2d0791..c792e53c96 100644 --- a/include/dirent.h +++ b/include/dirent.h @@ -16,7 +16,8 @@ struct scandir_cancel_struct /* Now define the internal interfaces. */ extern DIR *__opendir (const char *__name); -extern DIR *__opendirat (int dfd, const char *__name) internal_function; +extern DIR *__opendirat (int dfd, const char *__name) + internal_function attribute_hidden; extern DIR *__fdopendir (int __fd); extern int __closedir (DIR *__dirp); extern struct dirent *__readdir (DIR *__dirp); @@ -35,9 +36,9 @@ extern __ssize_t __getdirentries (int __fd, char *__restrict __buf, __off_t *__restrict __basep) __THROW __nonnull ((2, 4)); extern __ssize_t __getdents (int __fd, char *__buf, size_t __nbytes) - internal_function; + internal_function attribute_hidden; extern __ssize_t __getdents64 (int __fd, char *__buf, size_t __nbytes) - internal_function; + internal_function attribute_hidden; extern int __alphasort64 (const struct dirent64 **a, const struct dirent64 **b) __attribute_pure__; extern int __versionsort64 (const struct dirent64 **a, @@ -45,7 +46,7 @@ extern int __versionsort64 (const struct dirent64 **a, __attribute_pure__; extern DIR *__alloc_dir (int fd, bool close_fd, int flags, const struct stat64 *statp) - internal_function; + internal_function attribute_hidden; extern __typeof (rewinddir) __rewinddir; extern void __scandir_cancel_handler (void *arg) attribute_hidden; @@ -74,6 +75,14 @@ libc_hidden_proto (__rewinddir) extern __typeof (scandirat) __scandirat; 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 #endif |