From 89bf8ef2dba93e19385bf922fdcee87a97db768f Mon Sep 17 00:00:00 2001 From: "H.J. Lu" <hjl.tools@gmail.com> Date: Sun, 20 Aug 2017 10:46:47 -0700 Subject: [PATCH 1/8] i386: Hide __old_glob64 [BZ #18822] Hide internal __old_glob64 function to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * sysdeps/unix/sysv/linux/i386/glob64.c (__old_glob64): Add libc_hidden_proto and libc_hidden_def. (cherry picked from commit 2585d7b839559e665d5723734862fbe62264b25d) (cherry picked from commit 2b54f16a8a237a1f3e6f8b974cafda09ed75d292) --- ChangeLog | 6 ++++++ sysdeps/unix/sysv/linux/i386/glob64.c | 3 +++ 2 files changed, 9 insertions(+) #diff --git a/ChangeLog b/ChangeLog #index 9be47cd9ec..e7f1e0feb7 100644 #--- a/ChangeLog #+++ b/ChangeLog #@@ -1,3 +1,9 @@ #+2017-08-20 H.J. Lu <hongjiu.lu@intel.com> #+ #+ [BZ #18822] #+ * sysdeps/unix/sysv/linux/i386/glob64.c (__old_glob64): Add #+ libc_hidden_proto and libc_hidden_def. #+ # 2017-10-22 H.J. Lu <hongjiu.lu@intel.com> # # [BZ #21265] diff --git a/sysdeps/unix/sysv/linux/i386/glob64.c b/sysdeps/unix/sysv/linux/i386/glob64.c index 802c957d6c..30470c6ed9 100644 --- a/sysdeps/unix/sysv/linux/i386/glob64.c +++ b/sysdeps/unix/sysv/linux/i386/glob64.c @@ -53,6 +53,7 @@ libc_hidden_ver (__glob64, glob64) int __old_glob64 (const char *__pattern, int __flags, int (*__errfunc) (const char *, int), glob64_t *__pglob); +libc_hidden_proto (__old_glob64); #undef dirent #define dirent __old_dirent64 @@ -72,5 +73,7 @@ int __old_glob64 (const char *__pattern, int __flags, #include <posix/glob.c> +libc_hidden_def (__old_glob64); + compat_symbol (libc, __old_glob64, glob64, GLIBC_2_1); #endif -- 2.15.1