mirror of
git://sourceware.org/git/glibc.git
synced 2024-12-21 04:31:04 +08:00
ba436665b1
Starting with recent commit 84f7ce8447
"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.
48 lines
1.2 KiB
C
48 lines
1.2 KiB
C
#ifndef _GLOB_H
|
|
#include <posix/glob.h>
|
|
|
|
#ifndef _ISOMAC
|
|
# include <sys/types.h>
|
|
|
|
libc_hidden_proto (glob)
|
|
libc_hidden_proto (glob64)
|
|
libc_hidden_proto (globfree)
|
|
libc_hidden_proto (globfree64)
|
|
|
|
# if __TIMESIZE == 64
|
|
# define glob64_time64_t glob64_t
|
|
# else
|
|
# include <sys/stat.h>
|
|
|
|
typedef struct
|
|
{
|
|
size_t gl_pathc;
|
|
char **gl_pathv;
|
|
size_t gl_offs;
|
|
int gl_flags;
|
|
|
|
void (*gl_closedir) (void *);
|
|
struct dirent64 *(*gl_readdir) (void *);
|
|
void *(*gl_opendir) (const char *);
|
|
int (*gl_lstat) (const char *__restrict, struct __stat64_t64 *__restrict);
|
|
int (*gl_stat) (const char *__restrict, struct __stat64_t64 *__restrict);
|
|
} glob64_time64_t;
|
|
|
|
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
|
|
|
|
/* Now define the internal interfaces. */
|
|
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
|