mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-09 23:00:07 +00:00
posix: Add glob64 with 64-bit time_t support
The glob might pass a different stat struct for gl_stat and gl_lstat when GLOB_ALTDIRFUNC is used. This requires add a new 64-bit time version that also uses 64-bit time stat functions. Checked on i686-linux-gnu and x86_64-linux-gnu. Reviewed-by: Carlos O'Donell <carlos@redhat.com> Tested-by: Carlos O'Donell <carlos@redhat.com>
This commit is contained in:
parent
47f24c21ee
commit
84f7ce8447
@ -2,11 +2,39 @@
|
||||
#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);
|
||||
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,
|
||||
|
@ -67,7 +67,9 @@ routines := \
|
||||
get_child_max sched_cpucount sched_cpualloc sched_cpufree \
|
||||
streams-compat \
|
||||
shm-directory \
|
||||
execveat
|
||||
execveat \
|
||||
glob64-time64 \
|
||||
globfree64-time64
|
||||
|
||||
aux := init-posix environ
|
||||
tests := test-errno tstgetopt testfnm runtests runptests \
|
||||
|
46
posix/glob.c
46
posix/glob.c
@ -59,25 +59,37 @@
|
||||
# define readdir(str) __readdir64 (str)
|
||||
# define getpwnam_r(name, bufp, buf, len, res) \
|
||||
__getpwnam_r (name, bufp, buf, len, res)
|
||||
# define struct_stat64 struct stat64
|
||||
# define FLEXIBLE_ARRAY_MEMBER
|
||||
# ifndef struct_stat
|
||||
# define struct_stat struct stat
|
||||
# endif
|
||||
# ifndef struct_stat64
|
||||
# define struct_stat64 struct stat64
|
||||
# endif
|
||||
# ifndef GLOB_LSTAT
|
||||
# define GLOB_LSTAT gl_lstat
|
||||
# endif
|
||||
# ifndef GLOB_STAT64
|
||||
# define GLOB_STAT64 __stat64
|
||||
# endif
|
||||
# ifndef GLOB_LSTAT64
|
||||
# define GLOB_LSTAT64 __lstat64
|
||||
# endif
|
||||
# include <shlib-compat.h>
|
||||
#else /* !_LIBC */
|
||||
# define __glob glob
|
||||
# define __getlogin_r(buf, len) getlogin_r (buf, len)
|
||||
# define __lstat64(fname, buf) lstat (fname, buf)
|
||||
# if defined _WIN32 && !defined __CYGWIN__
|
||||
/* Avoid GCC or clang warning. The original __stat64 macro is unused. */
|
||||
# undef __stat64
|
||||
# endif
|
||||
# define __stat64(fname, buf) stat (fname, buf)
|
||||
# define __fxstatat64(_, d, f, st, flag) fstatat (d, f, st, flag)
|
||||
# define struct_stat64 struct stat
|
||||
# ifndef __MVS__
|
||||
# define __alloca alloca
|
||||
# endif
|
||||
# define __readdir readdir
|
||||
# define COMPILE_GLOB64
|
||||
# define struct_stat struct stat
|
||||
# define struct_stat64 struct stat
|
||||
# define GLOB_LSTAT gl_lstat
|
||||
# define GLOB_STAT64 stat
|
||||
# define GLOB_LSTAT64 lstat
|
||||
#endif /* _LIBC */
|
||||
|
||||
#include <fnmatch.h>
|
||||
@ -196,22 +208,14 @@ glob_lstat (glob_t *pglob, int flags, const char *fullname)
|
||||
{
|
||||
/* Use on glob-lstat-compat.c to provide a compat symbol which does not
|
||||
use lstat / gl_lstat. */
|
||||
#ifdef GLOB_NO_LSTAT
|
||||
# define GL_LSTAT gl_stat
|
||||
# define LSTAT64 __stat64
|
||||
#else
|
||||
# define GL_LSTAT gl_lstat
|
||||
# define LSTAT64 __lstat64
|
||||
#endif
|
||||
|
||||
union
|
||||
{
|
||||
struct stat st;
|
||||
struct_stat st;
|
||||
struct_stat64 st64;
|
||||
} ust;
|
||||
return (__glibc_unlikely (flags & GLOB_ALTDIRFUNC)
|
||||
? pglob->GL_LSTAT (fullname, &ust.st)
|
||||
: LSTAT64 (fullname, &ust.st64));
|
||||
? pglob->GLOB_LSTAT (fullname, &ust.st)
|
||||
: GLOB_LSTAT64 (fullname, &ust.st64));
|
||||
}
|
||||
|
||||
/* Set *R = A + B. Return true if the answer is mathematically
|
||||
@ -249,11 +253,11 @@ static int collated_compare (const void *, const void *) __THROWNL;
|
||||
static bool
|
||||
is_dir (char const *filename, int flags, glob_t const *pglob)
|
||||
{
|
||||
struct stat st;
|
||||
struct_stat st;
|
||||
struct_stat64 st64;
|
||||
return (__glibc_unlikely (flags & GLOB_ALTDIRFUNC)
|
||||
? pglob->gl_stat (filename, &st) == 0 && S_ISDIR (st.st_mode)
|
||||
: __stat64 (filename, &st64) == 0 && S_ISDIR (st64.st_mode));
|
||||
: GLOB_STAT64 (filename, &st64) == 0 && S_ISDIR (st64.st_mode));
|
||||
}
|
||||
|
||||
/* Find the end of the sub-pattern in a brace expression. */
|
||||
|
22
posix/glob.h
22
posix/glob.h
@ -150,20 +150,42 @@ extern int glob (const char *__restrict __pattern, int __flags,
|
||||
/* Free storage allocated in PGLOB by a previous `glob' call. */
|
||||
extern void globfree (glob_t *__pglob) __THROW;
|
||||
#else
|
||||
# ifdef __USE_TIME_BITS64
|
||||
extern int __REDIRECT_NTHNL (glob, (const char *__restrict __pattern,
|
||||
int __flags,
|
||||
int (*__errfunc) (const char *, int),
|
||||
glob_t *__restrict __pglob),
|
||||
__glob64_time64);
|
||||
|
||||
extern void __REDIRECT_NTH (globfree, (glob_t *__pglob),
|
||||
__globfree64_time64);
|
||||
# else
|
||||
extern int __REDIRECT_NTHNL (glob, (const char *__restrict __pattern,
|
||||
int __flags,
|
||||
int (*__errfunc) (const char *, int),
|
||||
glob_t *__restrict __pglob), glob64);
|
||||
|
||||
extern void __REDIRECT_NTH (globfree, (glob_t *__pglob), globfree64);
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef __USE_LARGEFILE64
|
||||
# ifdef __USE_TIME_BITS64
|
||||
extern int __REDIRECT_NTHNL (glob64, (const char *__restrict __pattern,
|
||||
int __flags,
|
||||
int (*__errfunc) (const char *, int),
|
||||
glob64_t *__restrict __pglob),
|
||||
__glob64_time64);
|
||||
|
||||
extern void __REDIRECT_NTH (globfree64, (glob64_t *__pglob),
|
||||
__globfree64_time64);
|
||||
# else
|
||||
extern int glob64 (const char *__restrict __pattern, int __flags,
|
||||
int (*__errfunc) (const char *, int),
|
||||
glob64_t *__restrict __pglob) __THROWNL;
|
||||
|
||||
extern void globfree64 (glob64_t *__pglob) __THROW;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -28,7 +28,8 @@
|
||||
# define GLOB_ATTRIBUTE attribute_compat_text_section
|
||||
|
||||
/* Avoid calling gl_lstat with GLOB_ALTDIRFUNC. */
|
||||
# define GLOB_NO_LSTAT
|
||||
# define GLOB_LSTAT gl_stat
|
||||
# define GLOB_LSTAT64 __stat64
|
||||
|
||||
# include <posix/glob64.c>
|
||||
|
||||
|
49
posix/glob64-time64.c
Normal file
49
posix/glob64-time64.c
Normal file
@ -0,0 +1,49 @@
|
||||
/* Long File Support glob with 64-bit time support.
|
||||
Copyright (C) 2021 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <errno.h>
|
||||
#include <glob.h>
|
||||
#include <stddef.h>
|
||||
|
||||
#if __TIMESIZE != 64
|
||||
|
||||
/* Do glob searching for PATTERN, placing results in PGLOB.
|
||||
The bits defined above may be set in FLAGS.
|
||||
If a directory cannot be opened or read and ERRFUNC is not nil,
|
||||
it is called with the pathname that caused the error, and the
|
||||
`errno' value from the failing call; if it returns non-zero
|
||||
`glob' returns GLOB_ABORTED; if it returns zero, the error is ignored.
|
||||
If memory cannot be allocated for PGLOB, GLOB_NOSPACE is returned.
|
||||
Otherwise, `glob' returns zero. */
|
||||
int
|
||||
__glob64_time64 (const char *pattern, int flags,
|
||||
int (*errfunc) (const char *, int), glob64_time64_t *pglob)
|
||||
{
|
||||
if (pattern == NULL || pglob == NULL || (flags & ~__GLOB_FLAGS) != 0)
|
||||
{
|
||||
__set_errno (EINVAL);
|
||||
return -1;
|
||||
}
|
||||
|
||||
__set_errno (ENOSYS);
|
||||
return GLOB_NOSYS;
|
||||
}
|
||||
|
||||
stub_warning (glob64)
|
||||
|
||||
#endif
|
30
posix/globfree64-time64.c
Normal file
30
posix/globfree64-time64.c
Normal file
@ -0,0 +1,30 @@
|
||||
/* Long File Support globfree with 64-bit time support.
|
||||
Copyright (C) 2021 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <glob.h>
|
||||
|
||||
#if __TIMESIZE != 64
|
||||
|
||||
/* Free storage allocated in PGLOB by a previous `glob' call. */
|
||||
void
|
||||
__globfree64_time64 (glob64_time64_t *pglob)
|
||||
{
|
||||
}
|
||||
libc_hidden_def (__globfree64_time64)
|
||||
|
||||
#endif
|
@ -39,7 +39,8 @@
|
||||
#define GLOB_ATTRIBUTE attribute_compat_text_section
|
||||
|
||||
/* Avoid calling gl_lstat with GLOB_ALTDIRFUNC. */
|
||||
#define GLOB_NO_LSTAT
|
||||
#define GLOB_LSTAT gl_stat
|
||||
#define GLOB_LSTAT64 __stat64
|
||||
|
||||
#include <posix/glob.c>
|
||||
|
||||
|
@ -209,6 +209,8 @@ libc {
|
||||
__getitimer64;
|
||||
__getrusage64;
|
||||
__gettimeofday64;
|
||||
__glob64_time64;
|
||||
__globfree64_time64;
|
||||
__gmtime64;
|
||||
__gmtime64_r;
|
||||
__localtime64;
|
||||
|
@ -209,6 +209,8 @@ GLIBC_2.34 __futimesat64 F
|
||||
GLIBC_2.34 __getitimer64 F
|
||||
GLIBC_2.34 __getrusage64 F
|
||||
GLIBC_2.34 __gettimeofday64 F
|
||||
GLIBC_2.34 __glob64_time64 F
|
||||
GLIBC_2.34 __globfree64_time64 F
|
||||
GLIBC_2.34 __gmtime64 F
|
||||
GLIBC_2.34 __gmtime64_r F
|
||||
GLIBC_2.34 __libc_start_main F
|
||||
|
@ -206,6 +206,8 @@ GLIBC_2.34 __futimesat64 F
|
||||
GLIBC_2.34 __getitimer64 F
|
||||
GLIBC_2.34 __getrusage64 F
|
||||
GLIBC_2.34 __gettimeofday64 F
|
||||
GLIBC_2.34 __glob64_time64 F
|
||||
GLIBC_2.34 __globfree64_time64 F
|
||||
GLIBC_2.34 __gmtime64 F
|
||||
GLIBC_2.34 __gmtime64_r F
|
||||
GLIBC_2.34 __libc_start_main F
|
||||
|
@ -2296,6 +2296,8 @@ GLIBC_2.34 __futimesat64 F
|
||||
GLIBC_2.34 __getitimer64 F
|
||||
GLIBC_2.34 __getrusage64 F
|
||||
GLIBC_2.34 __gettimeofday64 F
|
||||
GLIBC_2.34 __glob64_time64 F
|
||||
GLIBC_2.34 __globfree64_time64 F
|
||||
GLIBC_2.34 __gmtime64 F
|
||||
GLIBC_2.34 __gmtime64_r F
|
||||
GLIBC_2.34 __libc_start_main F
|
||||
|
@ -30,7 +30,11 @@
|
||||
#define GLOB_ATTRIBUTE attribute_compat_text_section
|
||||
|
||||
/* Avoid calling gl_lstat with GLOB_ALTDIRFUNC. */
|
||||
#define GLOB_NO_LSTAT
|
||||
#define struct_stat struct stat
|
||||
#define struct_stat64 struct stat64
|
||||
#define GLOB_LSTAT gl_stat
|
||||
#define GLOB_STAT64 __stat64
|
||||
#define GLOB_LSTAT64 __stat64
|
||||
|
||||
#include <posix/glob.c>
|
||||
|
||||
|
@ -19,6 +19,12 @@
|
||||
#include <sys/stat.h>
|
||||
#include <kernel_stat.h>
|
||||
|
||||
#define struct_stat struct stat
|
||||
#define struct_stat64 struct stat64
|
||||
#define GLOB_LSTAT gl_lstat
|
||||
#define GLOB_STAT64 __stat64
|
||||
#define GLOB_LSTAT64 __lstat64
|
||||
|
||||
#define glob64 __no_glob64_decl
|
||||
#define __glob64 __no___glob64_decl
|
||||
#include <posix/glob.c>
|
||||
|
@ -33,15 +33,15 @@
|
||||
# define __glob __glob64_lstat_compat
|
||||
# define globfree globfree64
|
||||
|
||||
# undef stat
|
||||
# define stat stat64
|
||||
|
||||
# define COMPILE_GLOB64 1
|
||||
|
||||
# define GLOB_ATTRIBUTE attribute_compat_text_section
|
||||
|
||||
/* Avoid calling gl_lstat with GLOB_ALTDIRFUNC. */
|
||||
# define GLOB_NO_LSTAT
|
||||
# define COMPILE_GLOB64 1
|
||||
# define struct_stat struct stat64
|
||||
# define struct_stat64 struct stat64
|
||||
# define GLOB_LSTAT gl_stat
|
||||
# define GLOB_STAT64 __stat64
|
||||
# define GLOB_LSTAT64 __stat64
|
||||
|
||||
# include <posix/glob.c>
|
||||
|
||||
|
44
sysdeps/unix/sysv/linux/glob64-time64.c
Normal file
44
sysdeps/unix/sysv/linux/glob64-time64.c
Normal file
@ -0,0 +1,44 @@
|
||||
/* Find pathnames matching a pattern. Linux version.
|
||||
Copyright (C) 2021 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <sys/stat.h>
|
||||
|
||||
#if __TIMESIZE != 64
|
||||
# include <glob.h>
|
||||
# include <dirent.h>
|
||||
# include <sys/stat.h>
|
||||
|
||||
# define dirent dirent64
|
||||
# define __readdir(dirp) __readdir64 (dirp)
|
||||
|
||||
# define glob_t glob64_time64_t
|
||||
# define __glob __glob64_time64
|
||||
|
||||
# define globfree(pglob) __globfree64_time64 (pglob)
|
||||
|
||||
# define COMPILE_GLOB64 1
|
||||
# define struct_stat struct __stat64_t64
|
||||
# define struct_stat64 struct __stat64_t64
|
||||
# define GLOB_LSTAT gl_lstat
|
||||
# define GLOB_STAT64 __stat64_time64
|
||||
# define GLOB_LSTAT64 __lstat64_time64
|
||||
|
||||
# define COMPILE_GLOB64 1
|
||||
|
||||
# include <posix/glob.c>
|
||||
#endif
|
@ -31,10 +31,12 @@
|
||||
# define __glob __glob64
|
||||
# define globfree(pglob) globfree64 (pglob)
|
||||
|
||||
# undef stat
|
||||
# define stat stat64
|
||||
|
||||
# define COMPILE_GLOB64 1
|
||||
# define struct_stat struct stat64
|
||||
# define struct_stat64 struct stat64
|
||||
# define GLOB_LSTAT gl_lstat
|
||||
# define GLOB_STAT64 __stat64
|
||||
# define GLOB_LSTAT64 __lstat64
|
||||
|
||||
# include <posix/glob.c>
|
||||
|
||||
|
35
sysdeps/unix/sysv/linux/globfree64-time64.c
Normal file
35
sysdeps/unix/sysv/linux/globfree64-time64.c
Normal file
@ -0,0 +1,35 @@
|
||||
/* Frees the dynamically allocated storage from an earlier call to glob.
|
||||
Linux version.
|
||||
Copyright (C) 2021 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <sys/stat.h>
|
||||
|
||||
#if __TIMESIZE != 64
|
||||
# include <glob.h>
|
||||
# include <dirent.h>
|
||||
# include <sys/stat.h>
|
||||
|
||||
# define glob_t glob64_time64_t
|
||||
# define globfree(pglob) __globfree64_time64 (pglob)
|
||||
|
||||
# undef stat
|
||||
# define stat __stat64_t64
|
||||
|
||||
# include <posix/globfree.c>
|
||||
libc_hidden_def (__globfree64_time64)
|
||||
#endif
|
@ -2250,6 +2250,8 @@ GLIBC_2.34 __futimesat64 F
|
||||
GLIBC_2.34 __getitimer64 F
|
||||
GLIBC_2.34 __getrusage64 F
|
||||
GLIBC_2.34 __gettimeofday64 F
|
||||
GLIBC_2.34 __glob64_time64 F
|
||||
GLIBC_2.34 __globfree64_time64 F
|
||||
GLIBC_2.34 __gmtime64 F
|
||||
GLIBC_2.34 __gmtime64_r F
|
||||
GLIBC_2.34 __libc_start_main F
|
||||
|
@ -2433,6 +2433,8 @@ GLIBC_2.34 __futimesat64 F
|
||||
GLIBC_2.34 __getitimer64 F
|
||||
GLIBC_2.34 __getrusage64 F
|
||||
GLIBC_2.34 __gettimeofday64 F
|
||||
GLIBC_2.34 __glob64_time64 F
|
||||
GLIBC_2.34 __globfree64_time64 F
|
||||
GLIBC_2.34 __gmtime64 F
|
||||
GLIBC_2.34 __gmtime64_r F
|
||||
GLIBC_2.34 __isnanf128 F
|
||||
|
@ -210,6 +210,8 @@ GLIBC_2.34 __futimesat64 F
|
||||
GLIBC_2.34 __getitimer64 F
|
||||
GLIBC_2.34 __getrusage64 F
|
||||
GLIBC_2.34 __gettimeofday64 F
|
||||
GLIBC_2.34 __glob64_time64 F
|
||||
GLIBC_2.34 __globfree64_time64 F
|
||||
GLIBC_2.34 __gmtime64 F
|
||||
GLIBC_2.34 __gmtime64_r F
|
||||
GLIBC_2.34 __libc_start_main F
|
||||
|
@ -2377,6 +2377,8 @@ GLIBC_2.34 __futimesat64 F
|
||||
GLIBC_2.34 __getitimer64 F
|
||||
GLIBC_2.34 __getrusage64 F
|
||||
GLIBC_2.34 __gettimeofday64 F
|
||||
GLIBC_2.34 __glob64_time64 F
|
||||
GLIBC_2.34 __globfree64_time64 F
|
||||
GLIBC_2.34 __gmtime64 F
|
||||
GLIBC_2.34 __gmtime64_r F
|
||||
GLIBC_2.34 __libc_start_main F
|
||||
|
@ -2347,6 +2347,8 @@ GLIBC_2.34 __futimesat64 F
|
||||
GLIBC_2.34 __getitimer64 F
|
||||
GLIBC_2.34 __getrusage64 F
|
||||
GLIBC_2.34 __gettimeofday64 F
|
||||
GLIBC_2.34 __glob64_time64 F
|
||||
GLIBC_2.34 __globfree64_time64 F
|
||||
GLIBC_2.34 __gmtime64 F
|
||||
GLIBC_2.34 __gmtime64_r F
|
||||
GLIBC_2.34 __libc_start_main F
|
||||
|
@ -2344,6 +2344,8 @@ GLIBC_2.34 __futimesat64 F
|
||||
GLIBC_2.34 __getitimer64 F
|
||||
GLIBC_2.34 __getrusage64 F
|
||||
GLIBC_2.34 __gettimeofday64 F
|
||||
GLIBC_2.34 __glob64_time64 F
|
||||
GLIBC_2.34 __globfree64_time64 F
|
||||
GLIBC_2.34 __gmtime64 F
|
||||
GLIBC_2.34 __gmtime64_r F
|
||||
GLIBC_2.34 __libc_start_main F
|
||||
|
@ -2342,6 +2342,8 @@ GLIBC_2.34 __futimesat64 F
|
||||
GLIBC_2.34 __getitimer64 F
|
||||
GLIBC_2.34 __getrusage64 F
|
||||
GLIBC_2.34 __gettimeofday64 F
|
||||
GLIBC_2.34 __glob64_time64 F
|
||||
GLIBC_2.34 __globfree64_time64 F
|
||||
GLIBC_2.34 __gmtime64 F
|
||||
GLIBC_2.34 __gmtime64_r F
|
||||
GLIBC_2.34 __libc_start_main F
|
||||
|
@ -2340,6 +2340,8 @@ GLIBC_2.34 __futimesat64 F
|
||||
GLIBC_2.34 __getitimer64 F
|
||||
GLIBC_2.34 __getrusage64 F
|
||||
GLIBC_2.34 __gettimeofday64 F
|
||||
GLIBC_2.34 __glob64_time64 F
|
||||
GLIBC_2.34 __globfree64_time64 F
|
||||
GLIBC_2.34 __gmtime64 F
|
||||
GLIBC_2.34 __gmtime64_r F
|
||||
GLIBC_2.34 __libc_start_main F
|
||||
|
@ -2348,6 +2348,8 @@ GLIBC_2.34 __futimesat64 F
|
||||
GLIBC_2.34 __getitimer64 F
|
||||
GLIBC_2.34 __getrusage64 F
|
||||
GLIBC_2.34 __gettimeofday64 F
|
||||
GLIBC_2.34 __glob64_time64 F
|
||||
GLIBC_2.34 __globfree64_time64 F
|
||||
GLIBC_2.34 __gmtime64 F
|
||||
GLIBC_2.34 __gmtime64_r F
|
||||
GLIBC_2.34 __libc_start_main F
|
||||
|
@ -2386,6 +2386,8 @@ GLIBC_2.34 __futimesat64 F
|
||||
GLIBC_2.34 __getitimer64 F
|
||||
GLIBC_2.34 __getrusage64 F
|
||||
GLIBC_2.34 __gettimeofday64 F
|
||||
GLIBC_2.34 __glob64_time64 F
|
||||
GLIBC_2.34 __globfree64_time64 F
|
||||
GLIBC_2.34 __gmtime64 F
|
||||
GLIBC_2.34 __gmtime64_r F
|
||||
GLIBC_2.34 __libc_start_main F
|
||||
|
@ -28,13 +28,12 @@ libc_hidden_proto (__old_glob64);
|
||||
#define convert_dirent __old_convert_dirent
|
||||
#define glob_in_dir __old_glob_in_dir
|
||||
|
||||
#undef stat
|
||||
#define stat stat64
|
||||
#undef __stat
|
||||
#define __stat(file, buf) __stat64 (file, buf)
|
||||
|
||||
/* Avoid calling gl_lstat with GLOB_ALTDIRFUNC. */
|
||||
#define GLOB_NO_LSTAT
|
||||
#define struct_stat struct stat64
|
||||
#define struct_stat64 struct stat64
|
||||
#define GLOB_LSTAT gl_stat
|
||||
#define GLOB_STAT64 __stat64
|
||||
#define GLOB_LSTAT64 __stat64
|
||||
|
||||
#define GLOB_ATTRIBUTE attribute_compat_text_section
|
||||
|
||||
|
@ -2404,6 +2404,8 @@ GLIBC_2.34 __futimesat64 F
|
||||
GLIBC_2.34 __getitimer64 F
|
||||
GLIBC_2.34 __getrusage64 F
|
||||
GLIBC_2.34 __gettimeofday64 F
|
||||
GLIBC_2.34 __glob64_time64 F
|
||||
GLIBC_2.34 __globfree64_time64 F
|
||||
GLIBC_2.34 __gmtime64 F
|
||||
GLIBC_2.34 __gmtime64_r F
|
||||
GLIBC_2.34 __libc_start_main F
|
||||
|
@ -2437,6 +2437,8 @@ GLIBC_2.34 __futimesat64 F
|
||||
GLIBC_2.34 __getitimer64 F
|
||||
GLIBC_2.34 __getrusage64 F
|
||||
GLIBC_2.34 __gettimeofday64 F
|
||||
GLIBC_2.34 __glob64_time64 F
|
||||
GLIBC_2.34 __globfree64_time64 F
|
||||
GLIBC_2.34 __gmtime64 F
|
||||
GLIBC_2.34 __gmtime64_r F
|
||||
GLIBC_2.34 __libc_start_main F
|
||||
|
@ -2402,6 +2402,8 @@ GLIBC_2.34 __futimesat64 F
|
||||
GLIBC_2.34 __getitimer64 F
|
||||
GLIBC_2.34 __getrusage64 F
|
||||
GLIBC_2.34 __gettimeofday64 F
|
||||
GLIBC_2.34 __glob64_time64 F
|
||||
GLIBC_2.34 __globfree64_time64 F
|
||||
GLIBC_2.34 __gmtime64 F
|
||||
GLIBC_2.34 __gmtime64_r F
|
||||
GLIBC_2.34 __libc_start_main F
|
||||
|
@ -2257,6 +2257,8 @@ GLIBC_2.34 __futimesat64 F
|
||||
GLIBC_2.34 __getitimer64 F
|
||||
GLIBC_2.34 __getrusage64 F
|
||||
GLIBC_2.34 __gettimeofday64 F
|
||||
GLIBC_2.34 __glob64_time64 F
|
||||
GLIBC_2.34 __globfree64_time64 F
|
||||
GLIBC_2.34 __gmtime64 F
|
||||
GLIBC_2.34 __gmtime64_r F
|
||||
GLIBC_2.34 __libc_start_main F
|
||||
|
@ -2254,6 +2254,8 @@ GLIBC_2.34 __futimesat64 F
|
||||
GLIBC_2.34 __getitimer64 F
|
||||
GLIBC_2.34 __getrusage64 F
|
||||
GLIBC_2.34 __gettimeofday64 F
|
||||
GLIBC_2.34 __glob64_time64 F
|
||||
GLIBC_2.34 __globfree64_time64 F
|
||||
GLIBC_2.34 __gmtime64 F
|
||||
GLIBC_2.34 __gmtime64_r F
|
||||
GLIBC_2.34 __libc_start_main F
|
||||
|
@ -2395,6 +2395,8 @@ GLIBC_2.34 __futimesat64 F
|
||||
GLIBC_2.34 __getitimer64 F
|
||||
GLIBC_2.34 __getrusage64 F
|
||||
GLIBC_2.34 __gettimeofday64 F
|
||||
GLIBC_2.34 __glob64_time64 F
|
||||
GLIBC_2.34 __globfree64_time64 F
|
||||
GLIBC_2.34 __gmtime64 F
|
||||
GLIBC_2.34 __gmtime64_r F
|
||||
GLIBC_2.34 __libc_start_main F
|
||||
|
Loading…
Reference in New Issue
Block a user