public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Carlos O'Donell <carlos@redhat.com>
To: Adhemerval Zanella <adhemerval.zanella@linaro.org>,
	libc-alpha@sourceware.org
Subject: Re: [PATCH v2 20/25] posix: Add glob64 with 64 bit time_t support
Date: Fri, 4 Jun 2021 15:39:04 -0400	[thread overview]
Message-ID: <b224693e-4652-4f44-97a4-8d4da4822945@redhat.com> (raw)
In-Reply-To: <20210518205613.1487824-21-adhemerval.zanella@linaro.org>

On 5/18/21 4:56 PM, Adhemerval Zanella wrote:
> 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 time
> version that also uses 64 time stat functions.

Needs a v3 please. See below. Minor mistake in the test list?

No regressions on x86_64, i686, ppc64le, aarch64, s390x.

Tested-by: Carlos O'Donell <carlos@redhat.com>
 
> Checked on i686-linux-gnu and x86_64-linux-gnu.
> ---
>  include/glob.h                                | 28 +++++++++++
>  posix/Makefile                                |  5 +-
>  posix/glob.c                                  | 46 +++++++++--------
>  posix/glob.h                                  | 22 +++++++++
>  posix/glob64-lstat-compat.c                   |  3 +-
>  posix/glob64-time64.c                         | 49 +++++++++++++++++++
>  posix/globfree64-time64.c                     | 30 ++++++++++++
>  sysdeps/gnu/glob64-lstat-compat.c             |  3 +-
>  sysdeps/unix/sysv/linux/Versions              |  2 +
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  2 +
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  2 +
>  sysdeps/unix/sysv/linux/csky/libc.abilist     |  2 +
>  sysdeps/unix/sysv/linux/glob-lstat-compat.c   |  6 ++-
>  sysdeps/unix/sysv/linux/glob.c                |  6 +++
>  sysdeps/unix/sysv/linux/glob64-lstat-compat.c | 12 ++---
>  sysdeps/unix/sysv/linux/glob64-time64.c       | 44 +++++++++++++++++
>  sysdeps/unix/sysv/linux/glob64.c              |  8 +--
>  sysdeps/unix/sysv/linux/globfree64-time64.c   | 35 +++++++++++++
>  sysdeps/unix/sysv/linux/hppa/libc.abilist     |  2 +
>  sysdeps/unix/sysv/linux/i386/libc.abilist     |  2 +
>  .../sysv/linux/m68k/coldfire/libc.abilist     |  2 +
>  .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  2 +
>  .../sysv/linux/microblaze/be/libc.abilist     |  2 +
>  .../sysv/linux/microblaze/le/libc.abilist     |  2 +
>  .../sysv/linux/mips/mips32/fpu/libc.abilist   |  2 +
>  .../sysv/linux/mips/mips32/nofpu/libc.abilist |  2 +
>  .../sysv/linux/mips/mips64/n32/libc.abilist   |  2 +
>  sysdeps/unix/sysv/linux/nios2/libc.abilist    |  2 +
>  sysdeps/unix/sysv/linux/oldglob.c             | 11 ++---
>  .../linux/powerpc/powerpc32/fpu/libc.abilist  |  2 +
>  .../powerpc/powerpc32/nofpu/libc.abilist      |  2 +
>  .../unix/sysv/linux/s390/s390-32/libc.abilist |  2 +
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  2 +
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  2 +
>  .../sysv/linux/sparc/sparc32/libc.abilist     |  2 +
>  35 files changed, 308 insertions(+), 40 deletions(-)
>  create mode 100644 posix/glob64-time64.c
>  create mode 100644 posix/globfree64-time64.c
>  create mode 100644 sysdeps/unix/sysv/linux/glob64-time64.c
>  create mode 100644 sysdeps/unix/sysv/linux/globfree64-time64.c
> 
> diff --git a/include/glob.h b/include/glob.h
> index 1d2f78793e..f48c71960d 100644
> --- a/include/glob.h
> +++ b/include/glob.h
> @@ -2,11 +2,39 @@
>  #include <posix/glob.h>
>  
>  #ifndef _ISOMAC
> +# include <sys/types.h>

OK.

> +
>  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

OK.

> +# else
> +# include <sys/stat.h>
> +
> +typedef struct
> +  {
> +    size_t gl_pathc;

OK. vs. __size_t

> +    char **gl_pathv;

OK. vs. char**

> +    size_t gl_offs;

OK. vs. __size_t

> +    int gl_flags;

OK. vs. int.

> +
> +    void (*gl_closedir) (void *);

OK. func ptr.

> +    struct dirent64 *(*gl_readdir) (void *);

OK. func ptr, but this one returns struct direent64 vs. struct direent.

> +    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);

OK. struct __stat64_t64 vs. struct stat for 64-bit time_t.

> +  } glob64_time64_t;

OK. New ABI looks good to me. Should be the same size as the previous ABI.

> +
> +extern int __glob64_time64 (const char *pattern, int flags,
> +			    int (*errfunc) (const char *, int),
> +			    glob64_time64_t *pglob);

OK, use new glob64_time64_t type for 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,
> diff --git a/posix/Makefile b/posix/Makefile
> index fa0dc0ea20..84204b1270 100644
> --- a/posix/Makefile
> +++ b/posix/Makefile
> @@ -67,7 +67,10 @@ routines :=								      \
>  	get_child_max sched_cpucount sched_cpualloc sched_cpufree \
>  	streams-compat \
>  	shm-directory                                                         \
> -	execveat
> +	execveat \
> +	shm-directory \

This is not correct since it duplicates shm-directory. I expect you intended
to fix the silly "\" way on the end.

We should make all of those routines clearly into one entry per line to make
merging easier.

> +	glob64-time64 \
> +	globfree64-time64
>  
>  aux		:= init-posix environ
>  tests		:= test-errno tstgetopt testfnm runtests runptests \
> diff --git a/posix/glob.c b/posix/glob.c
> index 32c88e5d15..593a4c358f 100644
> --- a/posix/glob.c
> +++ b/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;

OK.

>      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));

OK.

>  }
>  
>  /* 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));

OK.

>  }
>  
>  /* Find the end of the sub-pattern in a brace expression.  */
> diff --git a/posix/glob.h b/posix/glob.h
> index b5686600c7..700aeb2392 100644
> --- a/posix/glob.h
> +++ b/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);

OK. New ABI redirect.

> +# 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);

OK.

> +# 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
>  
>  
> diff --git a/posix/glob64-lstat-compat.c b/posix/glob64-lstat-compat.c
> index bd81a1e390..e90d4ae93e 100644
> --- a/posix/glob64-lstat-compat.c
> +++ b/posix/glob64-lstat-compat.c
> @@ -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

OK.

>  
>  # include <posix/glob64.c>
>  
> diff --git a/posix/glob64-time64.c b/posix/glob64-time64.c
> new file mode 100644
> index 0000000000..04db45f93a
> --- /dev/null
> +++ b/posix/glob64-time64.c
> @@ -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

OK. Stub.

> diff --git a/posix/globfree64-time64.c b/posix/globfree64-time64.c
> new file mode 100644
> index 0000000000..d815bc6df1
> --- /dev/null
> +++ b/posix/globfree64-time64.c
> @@ -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

OK. Stub.

> diff --git a/sysdeps/gnu/glob64-lstat-compat.c b/sysdeps/gnu/glob64-lstat-compat.c
> index 6764f1d062..ade4ccac8a 100644
> --- a/sysdeps/gnu/glob64-lstat-compat.c
> +++ b/sysdeps/gnu/glob64-lstat-compat.c
> @@ -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

OK.

>  
>  #include <posix/glob.c>
>  
> diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions
> index 52fedc61f0..27a464483b 100644
> --- a/sysdeps/unix/sysv/linux/Versions
> +++ b/sysdeps/unix/sysv/linux/Versions
> @@ -192,6 +192,8 @@ libc {
>      __getitimer64;
>      __getrusage64;
>      __gettimeofday64;
> +    __glob64_time64;
> +    __globfree64_time64;

OK. New ABI.

>      __gmtime64;
>      __gmtime64_r;
>      __localtime64;
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index 694033a42b..397c97cc16 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -208,6 +208,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
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index 1ead45904f..9bc948703c 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -205,6 +205,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
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index e8fce124fd..0f84021d9f 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -2285,6 +2285,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
> diff --git a/sysdeps/unix/sysv/linux/glob-lstat-compat.c b/sysdeps/unix/sysv/linux/glob-lstat-compat.c
> index 1f502e3299..7729e0dc12 100644
> --- a/sysdeps/unix/sysv/linux/glob-lstat-compat.c
> +++ b/sysdeps/unix/sysv/linux/glob-lstat-compat.c
> @@ -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>
>  
> diff --git a/sysdeps/unix/sysv/linux/glob.c b/sysdeps/unix/sysv/linux/glob.c
> index 1be4885b96..89c287d01d 100644
> --- a/sysdeps/unix/sysv/linux/glob.c
> +++ b/sysdeps/unix/sysv/linux/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

OK.

> +
>  #define glob64 __no_glob64_decl
>  #define __glob64 __no___glob64_decl
>  #include <posix/glob.c>
> diff --git a/sysdeps/unix/sysv/linux/glob64-lstat-compat.c b/sysdeps/unix/sysv/linux/glob64-lstat-compat.c
> index 40ad625f58..302a44d3a4 100644
> --- a/sysdeps/unix/sysv/linux/glob64-lstat-compat.c
> +++ b/sysdeps/unix/sysv/linux/glob64-lstat-compat.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>
>  
> diff --git a/sysdeps/unix/sysv/linux/glob64-time64.c b/sysdeps/unix/sysv/linux/glob64-time64.c
> new file mode 100644
> index 0000000000..260f067fa4
> --- /dev/null
> +++ b/sysdeps/unix/sysv/linux/glob64-time64.c
> @@ -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>

OK. Include posix/glob.c with different types.

> +#endif
> diff --git a/sysdeps/unix/sysv/linux/glob64.c b/sysdeps/unix/sysv/linux/glob64.c
> index 3cbadf34fb..572ca215df 100644
> --- a/sysdeps/unix/sysv/linux/glob64.c
> +++ b/sysdeps/unix/sysv/linux/glob64.c
> @@ -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>
>  
> diff --git a/sysdeps/unix/sysv/linux/globfree64-time64.c b/sysdeps/unix/sysv/linux/globfree64-time64.c
> new file mode 100644
> index 0000000000..d6b1e6ac49
> --- /dev/null
> +++ b/sysdeps/unix/sysv/linux/globfree64-time64.c
> @@ -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)

OK.

> +#endif
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index f196d94139..31caf8ebc3 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -2238,6 +2238,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
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index 0687af280c..75b71b8a5b 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -2420,6 +2420,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
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index bfd2b7c135..2f93afc071 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -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
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 2bd9f7ab64..dc074cf576 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -2364,6 +2364,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
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 2436c57b2e..a8b8366c48 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -2336,6 +2336,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
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index 1262d01845..63e3b096e3 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -2333,6 +2333,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
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index 2812b458c8..3d17b78b42 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -2329,6 +2329,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
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 782c5470a6..ba96f15040 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -2327,6 +2327,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
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 3487d0f4c3..04cc170344 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -2335,6 +2335,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
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index 056254475b..ce21e19622 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -2375,6 +2375,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
> diff --git a/sysdeps/unix/sysv/linux/oldglob.c b/sysdeps/unix/sysv/linux/oldglob.c
> index 59bf89dc1d..a9a4439ddb 100644
> --- a/sysdeps/unix/sysv/linux/oldglob.c
> +++ b/sysdeps/unix/sysv/linux/oldglob.c
> @@ -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
>  
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 98e1da179b..4cfae3b735 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -2391,6 +2391,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
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 6dc0ecf108..3e03f313b1 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -2424,6 +2424,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
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index 230031f2be..4dfdc61761 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -2389,6 +2389,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
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 72073ecc27..2c00100dd6 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -2245,6 +2245,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
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index e07c4657f9..2bcf38af9b 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -2242,6 +2242,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
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 7467677c1b..dad08de21f 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -2382,6 +2382,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
> 


-- 
Cheers,
Carlos.


  parent reply	other threads:[~2021-06-04 19:39 UTC|newest]

Thread overview: 92+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-18 20:55 [PATCH v2 00/25] Add 64 bit time support on legacy ABIs Adhemerval Zanella
2021-05-18 20:55 ` [PATCH v2 01/25] linux: mips: Split libpthread.abilist in n32 and n64 Adhemerval Zanella
2021-05-19  8:24   ` Lukasz Majewski
2021-05-20  6:38   ` Florian Weimer
2021-05-20 10:43     ` Adhemerval Zanella
2021-06-04 19:29   ` Carlos O'Donell
2021-05-18 20:55 ` [PATCH v2 02/25] linux: mips: Split librt.abilist " Adhemerval Zanella
2021-05-19  8:25   ` Lukasz Majewski
2021-06-04 19:29   ` Carlos O'Donell
2021-05-18 20:55 ` [PATCH v2 03/25] linux: mips: Split libanl.abilist " Adhemerval Zanella
2021-05-19  8:25   ` Lukasz Majewski
2021-06-04 19:30   ` Carlos O'Donell
2021-05-18 20:55 ` [PATCH v2 04/25] linux: s390: Add libanl.abilist in s390 and s390x Adhemerval Zanella
2021-05-19  8:26   ` Lukasz Majewski
2021-06-04 19:30   ` Carlos O'Donell
2021-05-18 20:55 ` [PATCH v2 05/25] linux: Add fallback for 64-bit time_t SO_{RCV, SND}TIMEO Adhemerval Zanella
2021-05-19  8:36   ` [PATCH v2 05/25] linux: Add fallback for 64-bit time_t SO_{RCV,SND}TIMEO Lukasz Majewski
2021-05-20  6:44   ` [PATCH v2 05/25] linux: Add fallback for 64-bit time_t SO_{RCV, SND}TIMEO Florian Weimer
2021-05-20 18:01     ` Adhemerval Zanella
2021-05-21 18:37       ` Florian Weimer
2021-05-21 19:17         ` Adhemerval Zanella
2021-06-04 19:30   ` [PATCH v2 05/25] linux: Add fallback for 64-bit time_t SO_{RCV,SND}TIMEO Carlos O'Donell
2021-06-07 17:52     ` Adhemerval Zanella
2021-05-18 20:55 ` [PATCH v2 06/25] linux: Add fallback for 64-bit time_t SO_TIMESTAMP{NS} Adhemerval Zanella
2021-05-19  8:50   ` Lukasz Majewski
2021-05-20  6:50   ` Florian Weimer
2021-05-20 18:46     ` Adhemerval Zanella
2021-05-21 18:38       ` Florian Weimer
2021-05-21 19:02         ` Adhemerval Zanella
2021-06-04 19:30   ` Carlos O'Donell
2021-05-18 20:55 ` [PATCH v2 07/25] linux: Add recvvmsg " Adhemerval Zanella
2021-05-19  9:02   ` Lukasz Majewski
2021-06-04 19:30   ` Carlos O'Donell
2021-05-18 20:55 ` [PATCH v2 08/25] y2038: Add __USE_TIME_BITS64 support for time_t Adhemerval Zanella
2021-05-19  9:02   ` Lukasz Majewski
2021-06-04 19:30   ` Carlos O'Donell
2021-05-18 20:55 ` [PATCH v2 09/25] y2038: Add __USE_TIME_BITS64 support for struct timeval Adhemerval Zanella
2021-05-19  9:03   ` Lukasz Majewski
2021-06-04 19:31   ` Carlos O'Donell
2021-05-18 20:55 ` [PATCH v2 10/25] y2038: Add __USE_TIME_BITS64 support for struct timespec Adhemerval Zanella
2021-05-19  9:03   ` Lukasz Majewski
2021-06-04 19:31   ` Carlos O'Donell
2021-05-18 20:55 ` [PATCH v2 11/25] y2038: Add __USE_TIME_BITS64 support for struct utimbuf Adhemerval Zanella
2021-05-19  9:04   ` Lukasz Majewski
2021-06-04 19:31   ` Carlos O'Donell
2021-05-18 20:56 ` [PATCH v2 12/25] y2038: linux: Add __USE_TIME_BITS64 support for struct timex Adhemerval Zanella
2021-05-19  9:04   ` Lukasz Majewski
2021-06-04 19:31   ` Carlos O'Donell
2021-05-18 20:56 ` [PATCH v2 13/25] y2038: Use a common definition for stat Adhemerval Zanella
2021-06-04 19:37   ` Carlos O'Donell
2021-06-07 18:07     ` Adhemerval Zanella
2021-05-18 20:56 ` [PATCH v2 14/25] y2038: Use a common definition for msqid_ds Adhemerval Zanella
2021-06-04 19:38   ` Carlos O'Donell
2021-06-07 18:29     ` Adhemerval Zanella
2021-05-18 20:56 ` [PATCH v2 15/25] y2038: Use a common definition for semid_ds Adhemerval Zanella
2021-05-19  9:09   ` Lukasz Majewski
2021-06-04 19:38   ` Carlos O'Donell
2021-06-07 18:46     ` Adhemerval Zanella
2021-05-18 20:56 ` [PATCH v2 16/25] y2038: Use a common definition for shmid_ds Adhemerval Zanella
2021-05-19  9:09   ` Lukasz Majewski
2021-06-04 19:38   ` Carlos O'Donell
2021-05-18 20:56 ` [PATCH v2 17/25] y2038: Add __USE_TIME_BITS64 support for socket-constants.h Adhemerval Zanella
2021-05-19  9:13   ` Lukasz Majewski
2021-06-04 19:38   ` Carlos O'Donell
2021-05-18 20:56 ` [PATCH v2 18/25] time: Add 64 bit time support for getdate Adhemerval Zanella
2021-05-19  9:15   ` Lukasz Majewski
2021-06-04 19:38   ` Carlos O'Donell
2021-05-18 20:56 ` [PATCH v2 19/25] y2038: Add support for 64 bit time on legacy ABIs Adhemerval Zanella
2021-05-19  9:18   ` Lukasz Majewski
2021-05-20  6:58   ` Florian Weimer
2021-05-20 10:37     ` Adhemerval Zanella
2021-06-04 19:38   ` Carlos O'Donell
2021-05-18 20:56 ` [PATCH v2 20/25] posix: Add glob64 with 64 bit time_t support Adhemerval Zanella
2021-05-19 10:44   ` Lukasz Majewski
2021-06-04 19:39   ` Carlos O'Donell [this message]
2021-06-07 18:52     ` Adhemerval Zanella
2021-05-18 20:56 ` [PATCH v2 21/25] io: Add fts64 " Adhemerval Zanella
2021-05-19 10:50   ` Lukasz Majewski
2021-06-04 19:39   ` Carlos O'Donell
2021-05-18 20:56 ` [PATCH v2 22/25] io: Add ftw64 " Adhemerval Zanella
2021-05-19 10:57   ` Lukasz Majewski
2021-06-04 19:39   ` Carlos O'Donell
2021-05-18 20:56 ` [PATCH v2 23/25] libsupport: Add 64 bit time_t support for time functions Adhemerval Zanella
2021-05-19 11:00   ` Lukasz Majewski
2021-06-04 19:39   ` Carlos O'Donell
2021-05-18 20:56 ` [PATCH v2 24/25] libsupport: Add 64 bit time_t support for stat functions Adhemerval Zanella
2021-05-19 11:04   ` Lukasz Majewski
2021-06-04 19:39   ` Carlos O'Donell
2021-05-18 20:56 ` [PATCH v2 25/25] y2038: Add test coverage Adhemerval Zanella
2021-05-19 11:08   ` Lukasz Majewski
2021-06-04 19:39   ` Carlos O'Donell
2021-06-04 19:29 ` [PATCH v2 00/25] Add 64 bit time support on legacy ABIs Carlos O'Donell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b224693e-4652-4f44-97a4-8d4da4822945@redhat.com \
    --to=carlos@redhat.com \
    --cc=adhemerval.zanella@linaro.org \
    --cc=libc-alpha@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).