mirror of
https://sourceware.org/git/glibc.git
synced 2025-10-23 02:12:24 +03:00
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.
9 lines
266 B
C
9 lines
266 B
C
#define readdir64 __no_readdir64_decl
|
|
#define __readdir64 __no___readdir64_decl
|
|
#include <sysdeps/posix/readdir.c>
|
|
#undef __readdir64
|
|
strong_alias (__readdir, __readdir64)
|
|
strong_alias (__readdir, __GI___readdir64)
|
|
#undef readdir64
|
|
weak_alias (__readdir, readdir64)
|