summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-10-01 18:01:54 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-10-01 18:02:10 -0700
commitc0769f7031b8293e7dc2762bff98d75691fe6a0d (patch)
tree9453944d039213076b914392152ae8b73dd6ad3b
parent0e7d5b6e241b3e367b806f65f6df1e7469af68fa (diff)
downloadglibc-c0769f7031b8293e7dc2762bff98d75691fe6a0d.tar.gz
Hide internal __glob64 function [BZ #18822]
Hide internal __glob64 function to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/glob.h (__glob64): Add libc_hidden_proto. * sysdeps/unix/sysv/linux/glob64.c (__glob64): Add libc_hidden_def.
-rw-r--r--ChangeLog7
-rw-r--r--include/glob.h1
-rw-r--r--sysdeps/unix/sysv/linux/glob64.c1
3 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 0e4520c8ca..5d417cb4eb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,13 @@
2017-10-01 H.J. Lu <hongjiu.lu@intel.com>
[BZ #18822]
+ * include/glob.h (__glob64): Add libc_hidden_proto.
+ * sysdeps/unix/sysv/linux/glob64.c (__glob64): Add
+ libc_hidden_def.
+
+2017-10-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ [BZ #18822]
* sysdeps/unix/sysv/linux/getrlimit64.c (__new_getrlimit): Add
attribute_hidden.
diff --git a/include/glob.h b/include/glob.h
index 228fe30ca8..1d2f78793e 100644
--- a/include/glob.h
+++ b/include/glob.h
@@ -12,6 +12,7 @@ extern int __glob_pattern_p (const char *__pattern, int __quote);
extern int __glob64 (const char *__pattern, int __flags,
int (*__errfunc) (const char *, int),
glob64_t *__pglob);
+libc_hidden_proto (__glob64)
#endif
#endif
diff --git a/sysdeps/unix/sysv/linux/glob64.c b/sysdeps/unix/sysv/linux/glob64.c
index 0189d1c77d..0239425e10 100644
--- a/sysdeps/unix/sysv/linux/glob64.c
+++ b/sysdeps/unix/sysv/linux/glob64.c
@@ -44,6 +44,7 @@
strong_alias (__glob64, glob64)
libc_hidden_def (glob64)
# else
+libc_hidden_def (__glob64)
versioned_symbol (libc, __glob64, glob64, GLIBC_2_27);
libc_hidden_ver (__glob64, glob64)
# endif