summary refs log tree commit diff
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
glibc-c0769f7031b8293e7dc2762bff98d75691fe6a0d.tar.xz
glibc-c0769f7031b8293e7dc2762bff98d75691fe6a0d.zip
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