From c0769f7031b8293e7dc2762bff98d75691fe6a0d Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Sun, 1 Oct 2017 18:01:54 -0700 Subject: [PATCH] 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. --- ChangeLog | 7 +++++++ include/glob.h | 1 + sysdeps/unix/sysv/linux/glob64.c | 1 + 3 files changed, 9 insertions(+) diff --git a/ChangeLog b/ChangeLog index 0e4520c8ca..5d417cb4eb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2017-10-01 H.J. Lu + + [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 [BZ #18822] 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