diff options
author | Stefan Liebler <stli@linux.ibm.com> | 2021-06-30 16:17:37 +0200 |
---|---|---|
committer | Stefan Liebler <stli@linux.ibm.com> | 2021-07-01 16:46:59 +0200 |
commit | ba436665b1c9e8bcef76947a4b59706bc64ceead (patch) | |
tree | 457534e7617857dbfe9cb4b02dee49c0c5bac85c | |
parent | 6a34c928c2ac9fce926b1348d61dae34262e3f77 (diff) | |
download | glibc-ba436665b1c9e8bcef76947a4b59706bc64ceead.zip glibc-ba436665b1c9e8bcef76947a4b59706bc64ceead.tar.gz glibc-ba436665b1c9e8bcef76947a4b59706bc64ceead.tar.bz2 |
Fix extra PLT reference in libc.so due to __glob64_time64 if build with gcc 7.5 on 32bit.
Starting with recent commit 84f7ce84474c1648ce96884f1c91ca7b97ca3fc2
"posix: Add glob64 with 64-bit time_t support", elf/check-localplt
fails due to extra PLT reference __glob64_time64 in __glob64_time64
itself.
This is observable with gcc 7.5 on x86_64 with -m32 or s390x with
-m31. E.g. if build with gcc 10, gcc is generating a call to
__glob64_time64.localalias.
This patch is adding a hidden version of __glob64_time64 in the
same way as for __globfree64_time64.
-rw-r--r-- | include/glob.h | 1 | ||||
-rw-r--r-- | posix/glob64-time64.c | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/glob64-time64.c | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/include/glob.h b/include/glob.h index f48c719..483d5ba 100644 --- a/include/glob.h +++ b/include/glob.h @@ -31,6 +31,7 @@ typedef struct extern int __glob64_time64 (const char *pattern, int flags, int (*errfunc) (const char *, int), glob64_time64_t *pglob); +libc_hidden_proto (__glob64_time64) void __globfree64_time64 (glob64_time64_t *pglob); libc_hidden_proto (__globfree64_time64) # endif diff --git a/posix/glob64-time64.c b/posix/glob64-time64.c index b0f8fac..434d8dd 100644 --- a/posix/glob64-time64.c +++ b/posix/glob64-time64.c @@ -43,6 +43,7 @@ __glob64_time64 (const char *pattern, int flags, __set_errno (ENOSYS); return GLOB_NOSYS; } +libc_hidden_def (__glob64_time64) stub_warning (glob64) diff --git a/sysdeps/unix/sysv/linux/glob64-time64.c b/sysdeps/unix/sysv/linux/glob64-time64.c index 260f067..a465f70 100644 --- a/sysdeps/unix/sysv/linux/glob64-time64.c +++ b/sysdeps/unix/sysv/linux/glob64-time64.c @@ -41,4 +41,5 @@ # define COMPILE_GLOB64 1 # include <posix/glob.c> +libc_hidden_def (__glob64_time64) #endif |