Mark internal dirent functions with attribute_hidden [BZ #18822]
authorH.J. Lu <hjl.tools@gmail.com>
Sun, 1 Oct 2017 22:50:56 +0000 (15:50 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Sun, 1 Oct 2017 22:51:11 +0000 (15:51 -0700)
commit4587a421c54a8912b3e24913c7e1501293042b40
tree21ff4ebe25d895d5c55ebbc59a33d0f1603b7e2a
parent9635ce69626bfe41196bdef8efe4aba8d8a7b58f
Mark internal dirent functions with attribute_hidden [BZ #18822]

Mark internal dirent functions with attribute_hidden to allow direct
access within libc.so and libc.a without using GOT nor PLT.  __readdir64
is hidden with libc_hidden_proto and libc_hidden_def since the exported
readdir64 is an alias of __readdir64.

[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.
ChangeLog
include/dirent.h
sysdeps/mach/hurd/readdir64.c
sysdeps/unix/sysv/linux/i386/readdir64.c
sysdeps/unix/sysv/linux/readdir64.c
sysdeps/unix/sysv/linux/wordsize-64/readdir.c