unofficial mirror of libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Lukasz Majewski <lukma@denx.de>
To: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Cc: Alistair Francis <alistair.francis@wdc.com>, libc-alpha@sourceware.org
Subject: Re: [PATCH 09/16] Remove stat wrapper functions, move them to exported symbols
Date: Fri, 24 Jul 2020 11:23:56 +0200	[thread overview]
Message-ID: <20200724112356.3d03e17d@jawa> (raw)
In-Reply-To: <20200723194641.1949404-10-adhemerval.zanella@linaro.org>

[-- Attachment #1: Type: text/plain, Size: 73744 bytes --]

On Thu, 23 Jul 2020 16:46:34 -0300
Adhemerval Zanella <adhemerval.zanella@linaro.org> wrote:

> This patch removes the stat, stat64, lstat, lstat64, fstat, fstat64,
> fstatat, and fstatat64 static wrapper and add the symbol on the libc
> with the expected names.
> 
> Both the prototypes of the internal symbol linked by the static
> wrappers and the inline redirectors are also removed from the
> installed sys/stat.h header file.  The wrapper implementation license
> is also change from LGPL to GPL.
> 
> Internally the _STAT_VER* definitions are moved to a arch-specific
> xstatver.h file.  The internal defines that redirects internals
> {f}stat{at} to their {f}xstat{at} counterparts are removed for Linux
> (!NO_RTLD_HIDDEN).  Hurd still requires them since {f}stat{at} pulls
> extra objects that makes the loader build fail otherwise (I haven't
> dig into why exactly).
> 
> Checked with a build for all affected Linux ABIs and Hurd.  I checked
> also on x86_64-linux-gnu and i686-linux-gnu.

Reviewed-by: Lukasz Majewski <lukma@denx.de>

> ---
>  include/sys/stat.h                            |  94 ++++++++-----
>  io/Makefile                                   |   4 +-
>  io/Versions                                   |   4 +
>  io/fstat.c                                    |  33 +----
>  io/fstat64.c                                  |  36 +----
>  io/fstatat.c                                  |  36 +----
>  io/fstatat64.c                                |  36 +----
>  io/lstat.c                                    |  33 +----
>  io/lstat64.c                                  |  36 +----
>  io/stat.c                                     |  34 +----
>  io/stat64.c                                   |  36 +----
>  io/sys/stat.h                                 | 129
> ------------------ nscd/gai.c                                    |
> 5 + sysdeps/generic/xstatver.h                    |   3 +
>  sysdeps/mach/hurd/i386/libc.abilist           |   8 ++
>  sysdeps/posix/getaddrinfo.c                   |   2 +-
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist  |   8 ++
>  sysdeps/unix/sysv/linux/alpha/bits/stat.h     |   9 --
>  sysdeps/unix/sysv/linux/alpha/libc.abilist    |   8 ++
>  sysdeps/unix/sysv/linux/alpha/xstatver.h      |   9 ++
>  sysdeps/unix/sysv/linux/arc/libc.abilist      |   8 ++
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist   |   8 ++
>  sysdeps/unix/sysv/linux/bits/stat.h           |   6 -
>  sysdeps/unix/sysv/linux/csky/libc.abilist     |   8 ++
>  sysdeps/unix/sysv/linux/generic/bits/stat.h   |  11 --
>  sysdeps/unix/sysv/linux/generic/xstatver.h    |   5 +
>  sysdeps/unix/sysv/linux/hppa/libc.abilist     |   8 ++
>  sysdeps/unix/sysv/linux/i386/libc.abilist     |   8 ++
>  sysdeps/unix/sysv/linux/ia64/bits/stat.h      |   5 -
>  sysdeps/unix/sysv/linux/ia64/libc.abilist     |   8 ++
>  sysdeps/unix/sysv/linux/ia64/xstatver.h       |   5 +
>  sysdeps/unix/sysv/linux/m68k/bits/stat.h      |   7 -
>  .../unix/sysv/linux/m68k/m680x0/libc.abilist  |   8 ++
>  sysdeps/unix/sysv/linux/m68k/xstatver.h       |   7 +
>  .../sysv/linux/microblaze/be/libc.abilist     |   8 ++
>  .../unix/sysv/linux/microblaze/bits/stat.h    |   7 -
>  sysdeps/unix/sysv/linux/microblaze/xstatver.h |   7 +
>  sysdeps/unix/sysv/linux/mips/bits/stat.h      |   7 -
>  .../sysv/linux/mips/mips32/fpu/libc.abilist   |   8 ++
>  .../sysv/linux/mips/mips64/n32/libc.abilist   |   8 ++
>  .../sysv/linux/mips/mips64/n64/libc.abilist   |   8 ++
>  sysdeps/unix/sysv/linux/mips/xstatver.h       |   7 +
>  sysdeps/unix/sysv/linux/nios2/libc.abilist    |   8 ++
>  sysdeps/unix/sysv/linux/powerpc/bits/stat.h   |  11 --
>  .../linux/powerpc/powerpc32/fpu/libc.abilist  |   8 ++
>  .../linux/powerpc/powerpc64/be/libc.abilist   |   8 ++
>  .../linux/powerpc/powerpc64/le/libc.abilist   |   8 ++
>  sysdeps/unix/sysv/linux/powerpc/xstatver.h    |  11 ++
>  .../unix/sysv/linux/riscv/rv64/libc.abilist   |   8 ++
>  sysdeps/unix/sysv/linux/s390/bits/stat.h      |  12 --
>  .../unix/sysv/linux/s390/s390-32/libc.abilist |   8 ++
>  .../unix/sysv/linux/s390/s390-64/libc.abilist |   8 ++
>  sysdeps/unix/sysv/linux/s390/xstatver.h       |  16 +++
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist    |   8 ++
>  sysdeps/unix/sysv/linux/sparc/bits/stat.h     |   7 -
>  .../sysv/linux/sparc/sparc32/libc.abilist     |   8 ++
>  .../sysv/linux/sparc/sparc64/libc.abilist     |   8 ++
>  sysdeps/unix/sysv/linux/sparc/xstatver.h      |   7 +
>  sysdeps/unix/sysv/linux/x86/bits/stat.h       |  10 --
>  sysdeps/unix/sysv/linux/x86/xstatver.h        |  13 ++
>  .../unix/sysv/linux/x86_64/64/libc.abilist    |   8 ++
>  .../unix/sysv/linux/x86_64/x32/libc.abilist   |   8 ++
>  sysdeps/unix/sysv/linux/xstatver.h            |   7 +
>  63 files changed, 414 insertions(+), 501 deletions(-)
>  create mode 100644 sysdeps/generic/xstatver.h
>  create mode 100644 sysdeps/unix/sysv/linux/alpha/xstatver.h
>  create mode 100644 sysdeps/unix/sysv/linux/generic/xstatver.h
>  create mode 100644 sysdeps/unix/sysv/linux/ia64/xstatver.h
>  create mode 100644 sysdeps/unix/sysv/linux/m68k/xstatver.h
>  create mode 100644 sysdeps/unix/sysv/linux/microblaze/xstatver.h
>  create mode 100644 sysdeps/unix/sysv/linux/mips/xstatver.h
>  create mode 100644 sysdeps/unix/sysv/linux/powerpc/xstatver.h
>  create mode 100644 sysdeps/unix/sysv/linux/s390/xstatver.h
>  create mode 100644 sysdeps/unix/sysv/linux/sparc/xstatver.h
>  create mode 100644 sysdeps/unix/sysv/linux/x86/xstatver.h
>  create mode 100644 sysdeps/unix/sysv/linux/xstatver.h
> 
> diff --git a/include/sys/stat.h b/include/sys/stat.h
> index f8847cf73e..0be918a7a7 100644
> --- a/include/sys/stat.h
> +++ b/include/sys/stat.h
> @@ -2,10 +2,26 @@
>  #include <io/sys/stat.h>
>  
>  #ifndef _ISOMAC
> +# include <xstatver.h>
> +
>  /* Now define the internal interfaces. */
>  extern int __stat (const char *__file, struct stat *__buf);
> +extern int __stat64 (const char *__file, struct stat64 *__buf);
>  extern int __fstat (int __fd, struct stat *__buf);
> +extern int __fstat64 (int __fd, struct stat64 *__buf);
>  extern int __lstat (const char *__file, struct stat *__buf);
> +extern int __lstat64 (const char *__file, struct stat64 *__buf);
> +extern int __fstatat (int dirfd, const char *pathname, struct stat
> *buf,
> +		      int flags);
> +extern int __fstatat64 (int dirfd, const char *pathname, struct
> stat64 *buf,
> +			int flags);
> +# if IS_IN (libc) || (IS_IN (rtld) && !defined NO_RTLD_HIDDEN)
> +hidden_proto (__stat64)
> +hidden_proto (__fstat64)
> +hidden_proto (__lstat64)
> +hidden_proto (__fstatat64)
> +# endif
> +
>  extern int __chmod (const char *__file, __mode_t __mode);
>  libc_hidden_proto (__chmod)
>  extern int __fchmod (int __fd, __mode_t __mode);
> @@ -13,20 +29,9 @@ libc_hidden_proto (fchmodat)
>  extern __mode_t __umask (__mode_t __mask);
>  extern int __mkdir (const char *__path, __mode_t __mode);
>  libc_hidden_proto (__mkdir)
> +
>  extern int __mknod (const char *__path,
>  		    __mode_t __mode, __dev_t __dev);
> -#if IS_IN (libc) || (IS_IN (rtld) && !defined NO_RTLD_HIDDEN)
> -hidden_proto (__fxstat)
> -hidden_proto (__fxstat64)
> -hidden_proto (__lxstat)
> -hidden_proto (__lxstat64)
> -hidden_proto (__xstat)
> -hidden_proto (__xstat64)
> -#endif
> -extern __inline__ int __stat (const char *__path, struct stat
> *__statbuf) -{
> -  return __xstat (_STAT_VER, __path, __statbuf);
> -}
>  libc_hidden_proto (__xmknod)
>  extern __inline__ int __mknod (const char *__path, __mode_t __mode,
>  			       __dev_t __dev)
> @@ -35,32 +40,47 @@ extern __inline__ int __mknod (const char
> *__path, __mode_t __mode, }
>  libc_hidden_proto (__xmknodat)
>  
> -libc_hidden_proto (__fxstatat)
> -libc_hidden_proto (__fxstatat64)
> -
> -# if IS_IN (rtld) && !defined NO_RTLD_HIDDEN
> -extern __typeof (__fxstatat64) __fxstatat64 attribute_hidden;
> +int __fxstat (int __ver, int __fildes, struct stat *__stat_buf);
> +int __xstat (int __ver, const char *__filename,
> +	     struct stat *__stat_buf);
> +int __lxstat (int __ver, const char *__filename, struct stat
> *__stat_buf); +int __fxstatat (int __ver, int __fildes, const char
> *__filename,
> +		struct stat *__stat_buf, int __flag);
> +int __fxstat64 (int ver, int __fildes, struct stat64 *__stat_buf);
> +int __xstat64 (int ver, const char *__filename, struct stat64
> *__stat_buf); +int __lxstat64 (int ver, const char *__filename,
> struct stat64 *__stat_buf); +int __fxstatat64 (int ver, int __fildes,
> const char *__filename,
> +		  struct stat64 *__stat_buf, int __flag);
> +libc_hidden_proto (__fxstat);
> +libc_hidden_proto (__xstat);
> +libc_hidden_proto (__lxstat);
> +libc_hidden_proto (__fxstatat);
> +# if IS_IN (libc) || (IS_IN (rtld) && !defined NO_RTLD_HIDDEN)
> +hidden_proto (__fxstat64);
> +hidden_proto (__xstat64);
> +hidden_proto (__lxstat64);
> +hidden_proto (__fxstatat64);
>  # endif
>  
> -/* The `stat', `fstat', `lstat' functions have to be handled special
> since
> -   even while not compiling the library with optimization calls to
> these
> -   functions in the shared library must reference the `xstat' etc
> functions.
> -   We have to use macros but we cannot define them in the normal
> headers
> -   since on user level we must use real functions.  */
> -#define stat(fname, buf) __xstat (_STAT_VER, fname, buf)
> -#define lstat(fname, buf)  __lxstat (_STAT_VER, fname, buf)
> -#define __lstat(fname, buf)  __lxstat (_STAT_VER, fname, buf)
> -#define lstat64(fname, buf)  __lxstat64 (_STAT_VER, fname, buf)
> -#define __lstat64(fname, buf)  __lxstat64 (_STAT_VER, fname, buf)
> -#define stat64(fname, buf) __xstat64 (_STAT_VER, fname, buf)
> -#define __stat64(fname, buf) __xstat64 (_STAT_VER, fname, buf)
> -#define fstat64(fd, buf) __fxstat64 (_STAT_VER, fd, buf)
> -#define __fstat64(fd, buf) __fxstat64 (_STAT_VER, fd, buf)
> -#define fstat(fd, buf) __fxstat (_STAT_VER, fd, buf)
> -#define __fstat(fd, buf) __fxstat (_STAT_VER, fd, buf)
> -#define __fstatat(dfd, fname, buf, flag) \
> -  __fxstatat (_STAT_VER, dfd, fname, buf, flag)
> -#define __fstatat64(dfd, fname, buf, flag) \
> -  __fxstatat64 (_STAT_VER, dfd, fname, buf, flag)
> +# ifdef NO_RTLD_HIDDEN
> +/* These are still required for Hurd.  */
> +#  define stat(fname, buf) __xstat (_STAT_VER, fname, buf)
> +#  define lstat(fname, buf)  __lxstat (_STAT_VER, fname, buf)
> +#  define __lstat(fname, buf)  __lxstat (_STAT_VER, fname, buf)
> +#  define lstat64(fname, buf)  __lxstat64 (_STAT_VER, fname, buf)
> +#  define __lstat64(fname, buf)  __lxstat64 (_STAT_VER, fname, buf)
> +#  define stat64(fname, buf) __xstat64 (_STAT_VER, fname, buf)
> +#  define __stat64(fname, buf) __xstat64 (_STAT_VER, fname, buf)
> +#  define fstat64(fd, buf) __fxstat64 (_STAT_VER, fd, buf)
> +#  define __fstat64(fd, buf) __fxstat64 (_STAT_VER, fd, buf)
> +#  define fstat(fd, buf) __fxstat (_STAT_VER, fd, buf)
> +#  define __fstat(fd, buf) __fxstat (_STAT_VER, fd, buf)
> +#  define __fstatat(dfd, fname, buf, flag) \
> +    __fxstatat (_STAT_VER, dfd, fname, buf, flag)
> +#  define __fstatat64(dfd, fname, buf, flag) \
> +    __fxstatat64 (_STAT_VER, dfd, fname, buf, flag)
> +# endif /* NO_RTLD_HIDDEN  */
> +
>  #endif
> +
>  #endif
> diff --git a/io/Makefile b/io/Makefile
> index cf380f3516..cee356b666 100644
> --- a/io/Makefile
> +++ b/io/Makefile
> @@ -60,8 +60,7 @@ routines :=
> 			\ # These routines will be omitted from the
> libc shared object. # Instead the static object files will be
> included in a special archive # linked against when the shared
> library will be used. -static-only-routines = stat fstat lstat stat64
> fstat64 lstat64	\
> -		       fstatat fstatat64 mknod mknodat
> +static-only-routines = mknod mknodat
>  
>  others		:= pwd
>  test-srcs	:= ftwtest
> @@ -78,6 +77,7 @@ tests		:= test-utime test-stat
> test-stat2 test-lfs tst-getcwd \ 
>  # Likewise for statx, but we do not need static linking here.
>  tests-internal += tst-statx
> +tests-static += tst-statx
>  
>  ifeq ($(run-built-tests),yes)
>  tests-special += $(objpfx)ftwtest.out
> diff --git a/io/Versions b/io/Versions
> index ee468055ff..f6db0e84ad 100644
> --- a/io/Versions
> +++ b/io/Versions
> @@ -132,6 +132,9 @@ libc {
>      fcntl64;
>      statx;
>    }
> +  GLIBC_2.33 {
> +    stat; stat64; fstat; fstat64; lstat; lstat64; fstatat; fstatat64;
> +  }
>    GLIBC_PRIVATE {
>      __libc_fcntl64;
>      __fcntl_nocancel;
> @@ -141,5 +144,6 @@ libc {
>      __file_change_detection_for_stat;
>      __file_change_detection_for_path;
>      __file_change_detection_for_fp;
> +    __fstat64;
>    }
>  }
> diff --git a/io/fstat.c b/io/fstat.c
> index 6ce077dc4a..faadd75e31 100644
> --- a/io/fstat.c
> +++ b/io/fstat.c
> @@ -1,4 +1,5 @@
> -/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
> +/* Get file status.
> +   Copyright (C) 1996-2020 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
> @@ -6,23 +7,6 @@
>     License as published by the Free Software Foundation; either
>     version 2.1 of the License, or (at your option) any later version.
>  
> -   In addition to the permissions in the GNU Lesser General Public
> -   License, the Free Software Foundation gives you unlimited
> -   permission to link the compiled version of this file with other
> -   programs, and to distribute those programs without any restriction
> -   coming from the use of this file. (The GNU Lesser General Public
> -   License restrictions do apply in other respects; for example, they
> -   cover modification of the file, and distribution when not linked
> -   into another program.)
> -
> -   Note that people who make modified versions of this file are not
> -   obligated to grant this special exception for their modified
> -   versions; it is their choice whether to do so. The GNU Lesser
> -   General Public License gives permission to release a modified
> -   version without this exception; this exception also makes it
> -   possible to release a modified version which carries forward this
> -   exception.
> -
>     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
> @@ -34,22 +18,11 @@
>  
>  #include <sys/stat.h>
>  
> -/* This definition is only used if inlining fails for this function;
> see
> -   the last page of <sys/stat.h>.  The real work is done by the `x'
> -   function which is passed a version number argument.  We arrange
> in the
> -   makefile that when not inlined this function is always statically
> -   linked; that way a dynamically-linked executable always encodes
> the
> -   version number corresponding to the data structures it uses, so
> the `x'
> -   functions in the shared library can adapt without needing to
> recompile
> -   all callers.  */
> -
> -#undef fstat
>  #undef __fstat
>  int
> -attribute_hidden
>  __fstat (int fd, struct stat *buf)
>  {
>    return __fxstat (_STAT_VER, fd, buf);
>  }
>  
> -weak_hidden_alias (__fstat, fstat)
> +weak_alias (__fstat, fstat)
> diff --git a/io/fstat64.c b/io/fstat64.c
> index c4dd3acd60..b1fc17e5bf 100644
> --- a/io/fstat64.c
> +++ b/io/fstat64.c
> @@ -1,4 +1,5 @@
> -/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
> +/* Get file status.
> +   Copyright (C) 1996-2020 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
> @@ -6,23 +7,6 @@
>     License as published by the Free Software Foundation; either
>     version 2.1 of the License, or (at your option) any later version.
>  
> -   In addition to the permissions in the GNU Lesser General Public
> -   License, the Free Software Foundation gives you unlimited
> -   permission to link the compiled version of this file with other
> -   programs, and to distribute those programs without any restriction
> -   coming from the use of this file. (The GNU Lesser General Public
> -   License restrictions do apply in other respects; for example, they
> -   cover modification of the file, and distribution when not linked
> -   into another program.)
> -
> -   Note that people who make modified versions of this file are not
> -   obligated to grant this special exception for their modified
> -   versions; it is their choice whether to do so. The GNU Lesser
> -   General Public License gives permission to release a modified
> -   version without this exception; this exception also makes it
> -   possible to release a modified version which carries forward this
> -   exception.
> -
>     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
> @@ -34,19 +18,11 @@
>  
>  #include <sys/stat.h>
>  
> -/* This definition is only used if inlining fails for this function;
> see
> -   the last page of <sys/stat.h>.  The real work is done by the `x'
> -   function which is passed a version number argument.  We arrange
> in the
> -   makefile that when not inlined this function is always statically
> -   linked; that way a dynamically-linked executable always encodes
> the
> -   version number corresponding to the data structures it uses, so
> the `x'
> -   functions in the shared library can adapt without needing to
> recompile
> -   all callers.  */
> -
> -#undef fstat64
> +#undef __fstat64
>  int
> -attribute_hidden
> -fstat64 (int fd, struct stat64 *buf)
> +__fstat64 (int fd, struct stat64 *buf)
>  {
>    return __fxstat64 (_STAT_VER, fd, buf);
>  }
> +hidden_def (__fstat64)
> +weak_alias (__fstat64, fstat64)
> diff --git a/io/fstatat.c b/io/fstatat.c
> index edc773487a..12443c2ff4 100644
> --- a/io/fstatat.c
> +++ b/io/fstatat.c
> @@ -1,4 +1,5 @@
> -/* Copyright (C) 2005-2020 Free Software Foundation, Inc.
> +/* Get file status.
> +   Copyright (C) 2005-2020 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
> @@ -6,23 +7,6 @@
>     License as published by the Free Software Foundation; either
>     version 2.1 of the License, or (at your option) any later version.
>  
> -   In addition to the permissions in the GNU Lesser General Public
> -   License, the Free Software Foundation gives you unlimited
> -   permission to link the compiled version of this file with other
> -   programs, and to distribute those programs without any restriction
> -   coming from the use of this file. (The GNU Lesser General Public
> -   License restrictions do apply in other respects; for example, they
> -   cover modification of the file, and distribution when not linked
> -   into another program.)
> -
> -   Note that people who make modified versions of this file are not
> -   obligated to grant this special exception for their modified
> -   versions; it is their choice whether to do so. The GNU Lesser
> -   General Public License gives permission to release a modified
> -   version without this exception; this exception also makes it
> -   possible to release a modified version which carries forward this
> -   exception.
> -
>     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
> @@ -34,19 +18,11 @@
>  
>  #include <sys/stat.h>
>  
> -/* This definition is only used if inlining fails for this function;
> see
> -   the last page of <sys/stat.h>.  The real work is done by the `x'
> -   function which is passed a version number argument.  We arrange
> in the
> -   makefile that when not inlined this function is always statically
> -   linked; that way a dynamically-linked executable always encodes
> the
> -   version number corresponding to the data structures it uses, so
> the `x'
> -   functions in the shared library can adapt without needing to
> recompile
> -   all callers.  */
> -
> -#undef fstatat
> +#undef __fstatat
>  int
> -attribute_hidden
> -fstatat (int fd, const char *file, struct stat *buf, int flag)
> +__fstatat (int fd, const char *file, struct stat *buf, int flag)
>  {
>    return __fxstatat (_STAT_VER, fd, file, buf, flag);
>  }
> +
> +weak_alias (__fstatat, fstatat)
> diff --git a/io/fstatat64.c b/io/fstatat64.c
> index b57133bd90..5ba4cdf68a 100644
> --- a/io/fstatat64.c
> +++ b/io/fstatat64.c
> @@ -1,4 +1,5 @@
> -/* Copyright (C) 2005-2020 Free Software Foundation, Inc.
> +/* Get file status.
> +   Copyright (C) 2005-2020 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
> @@ -6,23 +7,6 @@
>     License as published by the Free Software Foundation; either
>     version 2.1 of the License, or (at your option) any later version.
>  
> -   In addition to the permissions in the GNU Lesser General Public
> -   License, the Free Software Foundation gives you unlimited
> -   permission to link the compiled version of this file with other
> -   programs, and to distribute those programs without any restriction
> -   coming from the use of this file. (The GNU Lesser General Public
> -   License restrictions do apply in other respects; for example, they
> -   cover modification of the file, and distribution when not linked
> -   into another program.)
> -
> -   Note that people who make modified versions of this file are not
> -   obligated to grant this special exception for their modified
> -   versions; it is their choice whether to do so. The GNU Lesser
> -   General Public License gives permission to release a modified
> -   version without this exception; this exception also makes it
> -   possible to release a modified version which carries forward this
> -   exception.
> -
>     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
> @@ -34,19 +18,11 @@
>  
>  #include <sys/stat.h>
>  
> -/* This definition is only used if inlining fails for this function;
> see
> -   the last page of <sys/stat.h>.  The real work is done by the `x'
> -   function which is passed a version number argument.  We arrange
> in the
> -   makefile that when not inlined this function is always statically
> -   linked; that way a dynamically-linked executable always encodes
> the
> -   version number corresponding to the data structures it uses, so
> the `x'
> -   functions in the shared library can adapt without needing to
> recompile
> -   all callers.  */
> -
> -#undef fstatat64
> +#undef __fstatat64
>  int
> -attribute_hidden
> -fstatat64 (int fd, const char *file, struct stat64 *buf, int flag)
> +__fstatat64 (int fd, const char *file, struct stat64 *buf, int flag)
>  {
>    return __fxstatat64 (_STAT_VER, fd, file, buf, flag);
>  }
> +hidden_def (__fstatat64)
> +weak_alias (__fstatat64, fstatat64)
> diff --git a/io/lstat.c b/io/lstat.c
> index 7134741106..2a046c05e1 100644
> --- a/io/lstat.c
> +++ b/io/lstat.c
> @@ -1,4 +1,5 @@
> -/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
> +/* Get file status.
> +   Copyright (C) 1996-2020 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
> @@ -6,23 +7,6 @@
>     License as published by the Free Software Foundation; either
>     version 2.1 of the License, or (at your option) any later version.
>  
> -   In addition to the permissions in the GNU Lesser General Public
> -   License, the Free Software Foundation gives you unlimited
> -   permission to link the compiled version of this file with other
> -   programs, and to distribute those programs without any restriction
> -   coming from the use of this file. (The GNU Lesser General Public
> -   License restrictions do apply in other respects; for example, they
> -   cover modification of the file, and distribution when not linked
> -   into another program.)
> -
> -   Note that people who make modified versions of this file are not
> -   obligated to grant this special exception for their modified
> -   versions; it is their choice whether to do so. The GNU Lesser
> -   General Public License gives permission to release a modified
> -   version without this exception; this exception also makes it
> -   possible to release a modified version which carries forward this
> -   exception.
> -
>     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
> @@ -34,22 +18,11 @@
>  
>  #include <sys/stat.h>
>  
> -/* This definition is only used if inlining fails for this function;
> see
> -   the last page of <sys/stat.h>.  The real work is done by the `x'
> -   function which is passed a version number argument.  We arrange
> in the
> -   makefile that when not inlined this function is always statically
> -   linked; that way a dynamically-linked executable always encodes
> the
> -   version number corresponding to the data structures it uses, so
> the `x'
> -   functions in the shared library can adapt without needing to
> recompile
> -   all callers.  */
> -
> -#undef lstat
>  #undef __lstat
>  int
> -attribute_hidden
>  __lstat (const char *file, struct stat *buf)
>  {
>    return __lxstat (_STAT_VER, file, buf);
>  }
>  
> -weak_hidden_alias (__lstat, lstat)
> +weak_alias (__lstat, lstat)
> diff --git a/io/lstat64.c b/io/lstat64.c
> index a890da71a8..a73c5a2541 100644
> --- a/io/lstat64.c
> +++ b/io/lstat64.c
> @@ -1,4 +1,5 @@
> -/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
> +/* Get file status.
> +   Copyright (C) 1996-2020 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
> @@ -6,23 +7,6 @@
>     License as published by the Free Software Foundation; either
>     version 2.1 of the License, or (at your option) any later version.
>  
> -   In addition to the permissions in the GNU Lesser General Public
> -   License, the Free Software Foundation gives you unlimited
> -   permission to link the compiled version of this file with other
> -   programs, and to distribute those programs without any restriction
> -   coming from the use of this file. (The GNU Lesser General Public
> -   License restrictions do apply in other respects; for example, they
> -   cover modification of the file, and distribution when not linked
> -   into another program.)
> -
> -   Note that people who make modified versions of this file are not
> -   obligated to grant this special exception for their modified
> -   versions; it is their choice whether to do so. The GNU Lesser
> -   General Public License gives permission to release a modified
> -   version without this exception; this exception also makes it
> -   possible to release a modified version which carries forward this
> -   exception.
> -
>     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
> @@ -34,19 +18,11 @@
>  
>  #include <sys/stat.h>
>  
> -/* This definition is only used if inlining fails for this function;
> see
> -   the last page of <sys/stat.h>.  The real work is done by the `x'
> -   function which is passed a version number argument.  We arrange
> in the
> -   makefile that when not inlined this function is always statically
> -   linked; that way a dynamically-linked executable always encodes
> the
> -   version number corresponding to the data structures it uses, so
> the `x'
> -   functions in the shared library can adapt without needing to
> recompile
> -   all callers.  */
> -
> -#undef lstat64
> +#undef __lstat64
>  int
> -attribute_hidden
> -lstat64 (const char *file, struct stat64 *buf)
> +__lstat64 (const char *file, struct stat64 *buf)
>  {
>    return __lxstat64 (_STAT_VER, file, buf);
>  }
> +hidden_def (__lstat64)
> +weak_alias (__lstat64, lstat64)
> diff --git a/io/stat.c b/io/stat.c
> index 8c3cd877c8..b3d06107e3 100644
> --- a/io/stat.c
> +++ b/io/stat.c
> @@ -1,4 +1,5 @@
> -/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
> +/* Get file status.
> +   Copyright (C) 1996-2020 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
> @@ -6,23 +7,6 @@
>     License as published by the Free Software Foundation; either
>     version 2.1 of the License, or (at your option) any later version.
>  
> -   In addition to the permissions in the GNU Lesser General Public
> -   License, the Free Software Foundation gives you unlimited
> -   permission to link the compiled version of this file with other
> -   programs, and to distribute those programs without any restriction
> -   coming from the use of this file. (The GNU Lesser General Public
> -   License restrictions do apply in other respects; for example, they
> -   cover modification of the file, and distribution when not linked
> -   into another program.)
> -
> -   Note that people who make modified versions of this file are not
> -   obligated to grant this special exception for their modified
> -   versions; it is their choice whether to do so. The GNU Lesser
> -   General Public License gives permission to release a modified
> -   version without this exception; this exception also makes it
> -   possible to release a modified version which carries forward this
> -   exception.
> -
>     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
> @@ -34,21 +18,11 @@
>  
>  #include <sys/stat.h>
>  
> -/* This definition is only used if inlining fails for this function;
> see
> -   the last page of <sys/stat.h>.  The real work is done by the `x'
> -   function which is passed a version number argument.  We arrange
> in the
> -   makefile that when not inlined this function is always statically
> -   linked; that way a dynamically-linked executable always encodes
> the
> -   version number corresponding to the data structures it uses, so
> the `x'
> -   functions in the shared library can adapt without needing to
> recompile
> -   all callers.  */
> -
> -#undef stat
> +#undef __stat
>  int
> -attribute_hidden
>  __stat (const char *file, struct stat *buf)
>  {
>    return __xstat (_STAT_VER, file, buf);
>  }
>  
> -weak_hidden_alias (__stat, stat)
> +weak_alias (__stat, stat)
> diff --git a/io/stat64.c b/io/stat64.c
> index 8b6b662f3a..41e8905c4e 100644
> --- a/io/stat64.c
> +++ b/io/stat64.c
> @@ -1,4 +1,5 @@
> -/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
> +/* Get file status.
> +   Copyright (C) 1996-2020 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
> @@ -6,23 +7,6 @@
>     License as published by the Free Software Foundation; either
>     version 2.1 of the License, or (at your option) any later version.
>  
> -   In addition to the permissions in the GNU Lesser General Public
> -   License, the Free Software Foundation gives you unlimited
> -   permission to link the compiled version of this file with other
> -   programs, and to distribute those programs without any restriction
> -   coming from the use of this file. (The GNU Lesser General Public
> -   License restrictions do apply in other respects; for example, they
> -   cover modification of the file, and distribution when not linked
> -   into another program.)
> -
> -   Note that people who make modified versions of this file are not
> -   obligated to grant this special exception for their modified
> -   versions; it is their choice whether to do so. The GNU Lesser
> -   General Public License gives permission to release a modified
> -   version without this exception; this exception also makes it
> -   possible to release a modified version which carries forward this
> -   exception.
> -
>     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
> @@ -34,19 +18,11 @@
>  
>  #include <sys/stat.h>
>  
> -/* This definition is only used if inlining fails for this function;
> see
> -   the last page of <sys/stat.h>.  The real work is done by the `x'
> -   function which is passed a version number argument.  We arrange
> in the
> -   makefile that when not inlined this function is always statically
> -   linked; that way a dynamically-linked executable always encodes
> the
> -   version number corresponding to the data structures it uses, so
> the `x'
> -   functions in the shared library can adapt without needing to
> recompile
> -   all callers.  */
> -
> -#undef stat64
> +#undef __stat64
>  int
> -attribute_hidden
> -stat64 (const char *file, struct stat64 *buf)
> +__stat64 (const char *file, struct stat64 *buf)
>  {
>    return __xstat64 (_STAT_VER, file, buf);
>  }
> +hidden_def (__stat64)
> +weak_alias (__stat64, stat64)
> diff --git a/io/sys/stat.h b/io/sys/stat.h
> index ce014d03a5..83cf253c72 100644
> --- a/io/sys/stat.h
> +++ b/io/sys/stat.h
> @@ -368,73 +368,10 @@ extern int utimensat (int __fd, const char
> *__path, extern int futimens (int __fd, const struct timespec
> __times[2]) __THROW; #endif
>  \f
> -/* To allow the `struct stat' structure and the file type `mode_t'
> -   bits to vary without changing shared library major version number,
> -   the `stat' family of functions and `mknod' are in fact inline
> -   wrappers around calls to `xstat', `fxstat', `lxstat', and
> `xmknod',
> -   which all take a leading version-number argument designating the
> -   data structure and bits used.  <bits/stat.h> defines _STAT_VER
> with
> -   the version number corresponding to `struct stat' as defined in
> -   that file; and _MKNOD_VER with the version number corresponding to
> -   the S_IF* macros defined therein.  It is arranged that when not
> -   inlined these function are always statically linked; that way a
> -   dynamically-linked executable always encodes the version number
> -   corresponding to the data structures it uses, so the `x' functions
> -   in the shared library can adapt without needing to recompile all
> -   callers.  */
> -
> -#ifndef _STAT_VER
> -# define _STAT_VER	0
> -#endif
>  #ifndef _MKNOD_VER
>  # define _MKNOD_VER	0
>  #endif
>  
> -/* Wrappers for stat and mknod system calls.  */
> -#ifndef __USE_FILE_OFFSET64
> -extern int __fxstat (int __ver, int __fildes, struct stat
> *__stat_buf)
> -     __THROW __nonnull ((3));
> -extern int __xstat (int __ver, const char *__filename,
> -		    struct stat *__stat_buf) __THROW __nonnull ((2,
> 3)); -extern int __lxstat (int __ver, const char *__filename,
> -		     struct stat *__stat_buf) __THROW __nonnull ((2,
> 3)); -extern int __fxstatat (int __ver, int __fildes, const char
> *__filename,
> -		       struct stat *__stat_buf, int __flag)
> -     __THROW __nonnull ((3, 4));
> -#else
> -# ifdef __REDIRECT_NTH
> -extern int __REDIRECT_NTH (__fxstat, (int __ver, int __fildes,
> -				      struct stat *__stat_buf),
> __fxstat64)
> -     __nonnull ((3));
> -extern int __REDIRECT_NTH (__xstat, (int __ver, const char
> *__filename,
> -				     struct stat *__stat_buf),
> __xstat64)
> -     __nonnull ((2, 3));
> -extern int __REDIRECT_NTH (__lxstat, (int __ver, const char
> *__filename,
> -				      struct stat *__stat_buf),
> __lxstat64)
> -     __nonnull ((2, 3));
> -extern int __REDIRECT_NTH (__fxstatat, (int __ver, int __fildes,
> -					const char *__filename,
> -					struct stat *__stat_buf, int
> __flag),
> -			   __fxstatat64) __nonnull ((3, 4));
> -
> -# else
> -#  define __fxstat __fxstat64
> -#  define __xstat __xstat64
> -#  define __lxstat __lxstat64
> -# endif
> -#endif
> -
> -#ifdef __USE_LARGEFILE64
> -extern int __fxstat64 (int __ver, int __fildes, struct stat64
> *__stat_buf)
> -     __THROW __nonnull ((3));
> -extern int __xstat64 (int __ver, const char *__filename,
> -		      struct stat64 *__stat_buf) __THROW __nonnull
> ((2, 3)); -extern int __lxstat64 (int __ver, const char *__filename,
> -		       struct stat64 *__stat_buf) __THROW __nonnull
> ((2, 3)); -extern int __fxstatat64 (int __ver, int __fildes, const
> char *__filename,
> -			 struct stat64 *__stat_buf, int __flag)
> -     __THROW __nonnull ((3, 4));
> -#endif
>  extern int __xmknod (int __ver, const char *__path, __mode_t __mode,
>  		     __dev_t *__dev) __THROW __nonnull ((2, 4));
>  
> @@ -447,37 +384,6 @@ extern int __xmknodat (int __ver, int __fd,
> const char *__path, #endif
>  
>  #ifdef __USE_EXTERN_INLINES
> -/* Inlined versions of the real stat and mknod functions.  */
> -
> -__extern_inline int
> -__NTH (stat (const char *__path, struct stat *__statbuf))
> -{
> -  return __xstat (_STAT_VER, __path, __statbuf);
> -}
> -
> -# if defined __USE_MISC || defined __USE_XOPEN_EXTENDED
> -__extern_inline int
> -__NTH (lstat (const char *__path, struct stat *__statbuf))
> -{
> -  return __lxstat (_STAT_VER, __path, __statbuf);
> -}
> -# endif
> -
> -__extern_inline int
> -__NTH (fstat (int __fd, struct stat *__statbuf))
> -{
> -  return __fxstat (_STAT_VER, __fd, __statbuf);
> -}
> -
> -# ifdef __USE_ATFILE
> -__extern_inline int
> -__NTH (fstatat (int __fd, const char *__filename, struct stat
> *__statbuf,
> -		int __flag))
> -{
> -  return __fxstatat (_STAT_VER, __fd, __filename, __statbuf, __flag);
> -}
> -# endif
> -
>  # ifdef __USE_MISC
>  __extern_inline int
>  __NTH (mknod (const char *__path, __mode_t __mode, __dev_t __dev))
> @@ -494,41 +400,6 @@ __NTH (mknodat (int __fd, const char *__path,
> __mode_t __mode, return __xmknodat (_MKNOD_VER, __fd, __path, __mode,
> &__dev); }
>  # endif
> -
> -# if defined __USE_LARGEFILE64 \
> -  && (! defined __USE_FILE_OFFSET64 \
> -      || (defined __REDIRECT_NTH && defined __OPTIMIZE__))
> -__extern_inline int
> -__NTH (stat64 (const char *__path, struct stat64 *__statbuf))
> -{
> -  return __xstat64 (_STAT_VER, __path, __statbuf);
> -}
> -
> -#  if defined __USE_MISC || defined __USE_XOPEN_EXTENDED
> -__extern_inline int
> -__NTH (lstat64 (const char *__path, struct stat64 *__statbuf))
> -{
> -  return __lxstat64 (_STAT_VER, __path, __statbuf);
> -}
> -#  endif
> -
> -__extern_inline int
> -__NTH (fstat64 (int __fd, struct stat64 *__statbuf))
> -{
> -  return __fxstat64 (_STAT_VER, __fd, __statbuf);
> -}
> -
> -#  ifdef __USE_ATFILE
> -__extern_inline int
> -__NTH (fstatat64 (int __fd, const char *__filename, struct stat64
> *__statbuf,
> -		  int __flag))
> -{
> -  return __fxstatat64 (_STAT_VER, __fd, __filename, __statbuf,
> __flag); -}
> -#  endif
> -
> -# endif
> -
>  #endif
>  
>  __END_DECLS
> diff --git a/nscd/gai.c b/nscd/gai.c
> index 2e19530102..b0058bc873 100644
> --- a/nscd/gai.c
> +++ b/nscd/gai.c
> @@ -16,6 +16,7 @@
>     along with this program; if not, see
> <https://www.gnu.org/licenses/>.  */ 
>  #include <alloca.h>
> +#include <sys/stat.h>
>  
>  /* This file uses the getaddrinfo code but it compiles it without
> NSCD support.  We just need a few symbol renames.  */
> @@ -32,6 +33,10 @@
>  #define __libc_use_alloca(size) (size <= __MAX_ALLOCA_CUTOFF)
>  #define __getifaddrs getifaddrs
>  #define __freeifaddrs freeifaddrs
> +#undef __fstat64
> +#define __fstat64 fstat64
> +#undef __stat64
> +#define __stat64 stat64
>  
>  /* We are nscd, so we don't want to be talking to ourselves.  */
>  #undef  USE_NSCD
> diff --git a/sysdeps/generic/xstatver.h b/sysdeps/generic/xstatver.h
> new file mode 100644
> index 0000000000..d727c98a16
> --- /dev/null
> +++ b/sysdeps/generic/xstatver.h
> @@ -0,0 +1,3 @@
> +/* Versions of the 'struct stat' data structure used in
> compatibility xstat
> +   functions.  */
> +#define _STAT_VER 0
> diff --git a/sysdeps/mach/hurd/i386/libc.abilist
> b/sysdeps/mach/hurd/i386/libc.abilist index 5f6154d518..74a4ed5c1d
> 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist
> +++ b/sysdeps/mach/hurd/i386/libc.abilist
> @@ -2192,6 +2192,14 @@ GLIBC_2.32 thrd_current F
>  GLIBC_2.32 thrd_equal F
>  GLIBC_2.32 thrd_sleep F
>  GLIBC_2.32 thrd_yield F
> +GLIBC_2.33 fstat F
> +GLIBC_2.33 fstat64 F
> +GLIBC_2.33 fstatat F
> +GLIBC_2.33 fstatat64 F
> +GLIBC_2.33 lstat F
> +GLIBC_2.33 lstat64 F
> +GLIBC_2.33 stat F
> +GLIBC_2.33 stat64 F
>  GLIBC_2.4 __confstr_chk F
>  GLIBC_2.4 __fgets_chk F
>  GLIBC_2.4 __fgets_unlocked_chk F
> diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
> index 82c898fe35..ad4923ddbc 100644
> --- a/sysdeps/posix/getaddrinfo.c
> +++ b/sysdeps/posix/getaddrinfo.c
> @@ -2138,7 +2138,7 @@ static void
>  gaiconf_reload (void)
>  {
>    struct stat64 st;
> -  if (stat64 (GAICONF_FNAME, &st) != 0
> +  if (__stat64 (GAICONF_FNAME, &st) != 0
>        || !check_gaiconf_mtime (&st))
>      gaiconf_init ();
>  }
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index
> 6cd61988b4..03e4ae9296 100644 ---
> a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++
> b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -2160,3 +2160,11 @@
> GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np F
>  GLIBC_2.32 strerrordesc_np F
>  GLIBC_2.32 strerrorname_np F
> +GLIBC_2.33 fstat F
> +GLIBC_2.33 fstat64 F
> +GLIBC_2.33 fstatat F
> +GLIBC_2.33 fstatat64 F
> +GLIBC_2.33 lstat F
> +GLIBC_2.33 lstat64 F
> +GLIBC_2.33 stat F
> +GLIBC_2.33 stat64 F
> diff --git a/sysdeps/unix/sysv/linux/alpha/bits/stat.h
> b/sysdeps/unix/sysv/linux/alpha/bits/stat.h index
> 0064ca09ff..1fc27936b9 100644 ---
> a/sysdeps/unix/sysv/linux/alpha/bits/stat.h +++
> b/sysdeps/unix/sysv/linux/alpha/bits/stat.h @@ -22,15 +22,6 @@
>  #ifndef _BITS_STAT_H
>  #define _BITS_STAT_H	1
>  
> -/* Versions of the `struct stat' data structure.  */
> -#define _STAT_VER_KERNEL	0
> -#define _STAT_VER_GLIBC2	1
> -#define _STAT_VER_GLIBC2_1	2
> -#define _STAT_VER_KERNEL64	3
> -#define _STAT_VER_GLIBC2_3_4	3
> -#define _STAT_VER_LINUX		3
> -#define _STAT_VER		_STAT_VER_LINUX
> -
>  /* Versions of the `xmknod' interface.  */
>  #define _MKNOD_VER_LINUX	0
>  
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> b/sysdeps/unix/sysv/linux/alpha/libc.abilist index
> 8edb5deea1..5b752ef4a8 100644 ---
> a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++
> b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -2242,6 +2242,14 @@
> GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np F
>  GLIBC_2.32 strerrordesc_np F
>  GLIBC_2.32 strerrorname_np F
> +GLIBC_2.33 fstat F
> +GLIBC_2.33 fstat64 F
> +GLIBC_2.33 fstatat F
> +GLIBC_2.33 fstatat64 F
> +GLIBC_2.33 lstat F
> +GLIBC_2.33 lstat64 F
> +GLIBC_2.33 stat F
> +GLIBC_2.33 stat64 F
>  GLIBC_2.4 _IO_fprintf F
>  GLIBC_2.4 _IO_printf F
>  GLIBC_2.4 _IO_sprintf F
> diff --git a/sysdeps/unix/sysv/linux/alpha/xstatver.h
> b/sysdeps/unix/sysv/linux/alpha/xstatver.h new file mode 100644
> index 0000000000..bbb9469617
> --- /dev/null
> +++ b/sysdeps/unix/sysv/linux/alpha/xstatver.h
> @@ -0,0 +1,9 @@
> +/* Versions of the 'struct stat' data structure used in
> compatibility xstat
> +   functions.  */
> +#define _STAT_VER_KERNEL	0
> +#define _STAT_VER_GLIBC2	1
> +#define _STAT_VER_GLIBC2_1	2
> +#define _STAT_VER_KERNEL64	3
> +#define _STAT_VER_GLIBC2_3_4	3
> +#define _STAT_VER_LINUX		3
> +#define _STAT_VER		_STAT_VER_LINUX
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist
> b/sysdeps/unix/sysv/linux/arc/libc.abilist index
> df13f49e15..925b532383 100644 ---
> a/sysdeps/unix/sysv/linux/arc/libc.abilist +++
> b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -1920,3 +1920,11 @@
> GLIBC_2.32 wprintf F GLIBC_2.32 write F
>  GLIBC_2.32 writev F
>  GLIBC_2.32 wscanf F
> +GLIBC_2.33 fstat F
> +GLIBC_2.33 fstat64 F
> +GLIBC_2.33 fstatat F
> +GLIBC_2.33 fstatat64 F
> +GLIBC_2.33 lstat F
> +GLIBC_2.33 lstat64 F
> +GLIBC_2.33 stat F
> +GLIBC_2.33 stat64 F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index
> a83cc81958..a4c1a7c03c 100644 ---
> a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++
> b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -141,6 +141,14 @@
> GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np F
>  GLIBC_2.32 strerrordesc_np F
>  GLIBC_2.32 strerrorname_np F
> +GLIBC_2.33 fstat F
> +GLIBC_2.33 fstat64 F
> +GLIBC_2.33 fstatat F
> +GLIBC_2.33 fstatat64 F
> +GLIBC_2.33 lstat F
> +GLIBC_2.33 lstat64 F
> +GLIBC_2.33 stat F
> +GLIBC_2.33 stat64 F
>  GLIBC_2.4 _Exit F
>  GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
>  GLIBC_2.4 _IO_2_1_stdin_ D 0xa0
> diff --git a/sysdeps/unix/sysv/linux/bits/stat.h
> b/sysdeps/unix/sysv/linux/bits/stat.h index 240628a6f4..b542623208
> 100644 --- a/sysdeps/unix/sysv/linux/bits/stat.h
> +++ b/sysdeps/unix/sysv/linux/bits/stat.h
> @@ -23,12 +23,6 @@
>  #define _BITS_STAT_H	1
>  
>  /* Versions of the `struct stat' data structure.  */
> -#define _STAT_VER_LINUX_OLD	1
> -#define _STAT_VER_KERNEL	1
> -#define _STAT_VER_SVR4		2
> -#define _STAT_VER_LINUX		3
> -#define _STAT_VER		_STAT_VER_LINUX	/* The one
> defined below.  */ -
>  /* Versions of the `xmknod' interface.  */
>  #define _MKNOD_VER_LINUX	1
>  #define _MKNOD_VER_SVR4		2
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist
> b/sysdeps/unix/sysv/linux/csky/libc.abilist index
> 32887b1c58..799873e189 100644 ---
> a/sysdeps/unix/sysv/linux/csky/libc.abilist +++
> b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -2104,3 +2104,11 @@
> GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np F
>  GLIBC_2.32 strerrordesc_np F
>  GLIBC_2.32 strerrorname_np F
> +GLIBC_2.33 fstat F
> +GLIBC_2.33 fstat64 F
> +GLIBC_2.33 fstatat F
> +GLIBC_2.33 fstatat64 F
> +GLIBC_2.33 lstat F
> +GLIBC_2.33 lstat64 F
> +GLIBC_2.33 stat F
> +GLIBC_2.33 stat64 F
> diff --git a/sysdeps/unix/sysv/linux/generic/bits/stat.h
> b/sysdeps/unix/sysv/linux/generic/bits/stat.h index
> 8d0980f0f5..35e14a47c6 100644 ---
> a/sysdeps/unix/sysv/linux/generic/bits/stat.h +++
> b/sysdeps/unix/sysv/linux/generic/bits/stat.h @@ -26,17 +26,6 @@
>  #include <bits/endian.h>
>  #include <bits/wordsize.h>
>  
> -/* 64-bit libc uses the kernel's 'struct stat', accessed via the
> -   stat() syscall; 32-bit libc uses the kernel's 'struct stat64'
> -   and accesses it via the stat64() syscall.  All the various
> -   APIs offered by libc use the kernel shape for their struct stat
> -   structure; the only difference is that 32-bit programs not
> -   using __USE_FILE_OFFSET64 only see the low 32 bits of some
> -   of the fields (specifically st_ino, st_size, and st_blocks).  */
> -#define _STAT_VER_KERNEL	0
> -#define _STAT_VER_LINUX		0
> -#define _STAT_VER		_STAT_VER_KERNEL
> -
>  /* Versions of the `xmknod' interface.  */
>  #define _MKNOD_VER_LINUX	0
>  
> diff --git a/sysdeps/unix/sysv/linux/generic/xstatver.h
> b/sysdeps/unix/sysv/linux/generic/xstatver.h new file mode 100644
> index 0000000000..8675db494c
> --- /dev/null
> +++ b/sysdeps/unix/sysv/linux/generic/xstatver.h
> @@ -0,0 +1,5 @@
> +/* Versions of the 'struct stat' data structure used in
> compatibility xstat
> +   functions.  */
> +#define _STAT_VER_KERNEL	0
> +#define _STAT_VER_LINUX		0
> +#define _STAT_VER		_STAT_VER_KERNEL
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> b/sysdeps/unix/sysv/linux/hppa/libc.abilist index
> baf425072b..95c7bf4f06 100644 ---
> a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++
> b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -2063,6 +2063,14 @@
> GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np F
>  GLIBC_2.32 strerrordesc_np F
>  GLIBC_2.32 strerrorname_np F
> +GLIBC_2.33 fstat F
> +GLIBC_2.33 fstat64 F
> +GLIBC_2.33 fstatat F
> +GLIBC_2.33 fstatat64 F
> +GLIBC_2.33 lstat F
> +GLIBC_2.33 lstat64 F
> +GLIBC_2.33 stat F
> +GLIBC_2.33 stat64 F
>  GLIBC_2.4 __confstr_chk F
>  GLIBC_2.4 __fgets_chk F
>  GLIBC_2.4 __fgets_unlocked_chk F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist
> b/sysdeps/unix/sysv/linux/i386/libc.abilist index
> 8b0242a9b1..e7cf5cdb98 100644 ---
> a/sysdeps/unix/sysv/linux/i386/libc.abilist +++
> b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -2229,6 +2229,14 @@
> GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np F
>  GLIBC_2.32 strerrordesc_np F
>  GLIBC_2.32 strerrorname_np F
> +GLIBC_2.33 fstat F
> +GLIBC_2.33 fstat64 F
> +GLIBC_2.33 fstatat F
> +GLIBC_2.33 fstatat64 F
> +GLIBC_2.33 lstat F
> +GLIBC_2.33 lstat64 F
> +GLIBC_2.33 stat F
> +GLIBC_2.33 stat64 F
>  GLIBC_2.4 __confstr_chk F
>  GLIBC_2.4 __fgets_chk F
>  GLIBC_2.4 __fgets_unlocked_chk F
> diff --git a/sysdeps/unix/sysv/linux/ia64/bits/stat.h
> b/sysdeps/unix/sysv/linux/ia64/bits/stat.h index
> 608e988ae6..8ec2e4c81f 100644 ---
> a/sysdeps/unix/sysv/linux/ia64/bits/stat.h +++
> b/sysdeps/unix/sysv/linux/ia64/bits/stat.h @@ -22,11 +22,6 @@
>  #ifndef _BITS_STAT_H
>  #define _BITS_STAT_H	1
>  
> -/* Versions of the `struct stat' data structure.  */
> -#define _STAT_VER_KERNEL	0
> -#define _STAT_VER_LINUX		1
> -#define _STAT_VER		_STAT_VER_LINUX
> -
>  /* Versions of the `xmknod' interface.  */
>  #define _MKNOD_VER_LINUX	0
>  
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> b/sysdeps/unix/sysv/linux/ia64/libc.abilist index
> b6ba86dbe9..beeb905efd 100644 ---
> a/sysdeps/unix/sysv/linux/ia64/libc.abilist +++
> b/sysdeps/unix/sysv/linux/ia64/libc.abilist @@ -2095,6 +2095,14 @@
> GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np F
>  GLIBC_2.32 strerrordesc_np F
>  GLIBC_2.32 strerrorname_np F
> +GLIBC_2.33 fstat F
> +GLIBC_2.33 fstat64 F
> +GLIBC_2.33 fstatat F
> +GLIBC_2.33 fstatat64 F
> +GLIBC_2.33 lstat F
> +GLIBC_2.33 lstat64 F
> +GLIBC_2.33 stat F
> +GLIBC_2.33 stat64 F
>  GLIBC_2.4 __confstr_chk F
>  GLIBC_2.4 __fgets_chk F
>  GLIBC_2.4 __fgets_unlocked_chk F
> diff --git a/sysdeps/unix/sysv/linux/ia64/xstatver.h
> b/sysdeps/unix/sysv/linux/ia64/xstatver.h new file mode 100644
> index 0000000000..4f02f697ad
> --- /dev/null
> +++ b/sysdeps/unix/sysv/linux/ia64/xstatver.h
> @@ -0,0 +1,5 @@
> +/* Versions of the 'struct stat' data structure used in
> compatibility xstat
> +   functions.  */
> +#define _STAT_VER_KERNEL	0
> +#define _STAT_VER_LINUX		1
> +#define _STAT_VER		_STAT_VER_LINUX
> diff --git a/sysdeps/unix/sysv/linux/m68k/bits/stat.h
> b/sysdeps/unix/sysv/linux/m68k/bits/stat.h index
> 453dcac709..bf41776e6c 100644 ---
> a/sysdeps/unix/sysv/linux/m68k/bits/stat.h +++
> b/sysdeps/unix/sysv/linux/m68k/bits/stat.h @@ -22,13 +22,6 @@
>  #ifndef _BITS_STAT_H
>  #define _BITS_STAT_H	1
>  
> -/* Versions of the `struct stat' data structure.  */
> -#define _STAT_VER_LINUX_OLD	1
> -#define _STAT_VER_KERNEL	1
> -#define _STAT_VER_SVR4		2
> -#define _STAT_VER_LINUX		3
> -#define _STAT_VER		_STAT_VER_LINUX	/* The one
> defined below.  */ -
>  /* Versions of the `xmknod' interface.  */
>  #define _MKNOD_VER_LINUX	1
>  #define _MKNOD_VER_SVR4		2
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index
> 2d726097ca..ed34e1fc82 100644 ---
> a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++
> b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -2175,6
> +2175,14 @@ GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np F
>  GLIBC_2.32 strerrordesc_np F
>  GLIBC_2.32 strerrorname_np F
> +GLIBC_2.33 fstat F
> +GLIBC_2.33 fstat64 F
> +GLIBC_2.33 fstatat F
> +GLIBC_2.33 fstatat64 F
> +GLIBC_2.33 lstat F
> +GLIBC_2.33 lstat64 F
> +GLIBC_2.33 stat F
> +GLIBC_2.33 stat64 F
>  GLIBC_2.4 __confstr_chk F
>  GLIBC_2.4 __fgets_chk F
>  GLIBC_2.4 __fgets_unlocked_chk F
> diff --git a/sysdeps/unix/sysv/linux/m68k/xstatver.h
> b/sysdeps/unix/sysv/linux/m68k/xstatver.h new file mode 100644
> index 0000000000..59dba71dd1
> --- /dev/null
> +++ b/sysdeps/unix/sysv/linux/m68k/xstatver.h
> @@ -0,0 +1,7 @@
> +/* Versions of the 'struct stat' data structure used in
> compatibility xstat
> +   functions.  */
> +#define _STAT_VER_LINUX_OLD	1
> +#define _STAT_VER_KERNEL	1
> +#define _STAT_VER_SVR4		2
> +#define _STAT_VER_LINUX		3
> +#define _STAT_VER		_STAT_VER_LINUX
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index
> 7c78649e03..e00f5115b2 100644 ---
> a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++
> b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -2155,3
> +2155,11 @@ GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np F
>  GLIBC_2.32 strerrordesc_np F
>  GLIBC_2.32 strerrorname_np F
> +GLIBC_2.33 fstat F
> +GLIBC_2.33 fstat64 F
> +GLIBC_2.33 fstatat F
> +GLIBC_2.33 fstatat64 F
> +GLIBC_2.33 lstat F
> +GLIBC_2.33 lstat64 F
> +GLIBC_2.33 stat F
> +GLIBC_2.33 stat64 F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/bits/stat.h
> b/sysdeps/unix/sysv/linux/microblaze/bits/stat.h index
> c5817e5b77..51316a8c1b 100644 ---
> a/sysdeps/unix/sysv/linux/microblaze/bits/stat.h +++
> b/sysdeps/unix/sysv/linux/microblaze/bits/stat.h @@ -23,13 +23,6 @@
>  #ifndef _BITS_STAT_H
>  #define _BITS_STAT_H	1
>  
> -/* Versions of the `struct stat' data structure.  */
> -#define _STAT_VER_LINUX_OLD    1
> -#define _STAT_VER_KERNEL       1
> -#define _STAT_VER_SVR4         2
> -#define _STAT_VER_LINUX        3
> -#define _STAT_VER              _STAT_VER_LINUX  /* The one defined
> below.  */ -
>  /* Versions of the `xmknod' interface.  */
>  #define _MKNOD_VER_LINUX       1
>  #define _MKNOD_VER_SVR4        2
> diff --git a/sysdeps/unix/sysv/linux/microblaze/xstatver.h
> b/sysdeps/unix/sysv/linux/microblaze/xstatver.h new file mode 100644
> index 0000000000..bddaa0d5ec
> --- /dev/null
> +++ b/sysdeps/unix/sysv/linux/microblaze/xstatver.h
> @@ -0,0 +1,7 @@
> +/* Versions of the 'struct stat' data structure used in
> compatibility xstat
> +   functions.  */
> +#define _STAT_VER_LINUX_OLD    1
> +#define _STAT_VER_KERNEL       1
> +#define _STAT_VER_SVR4         2
> +#define _STAT_VER_LINUX        3
> +#define _STAT_VER              _STAT_VER_LINUX  /* The one defined
> below.  */ diff --git a/sysdeps/unix/sysv/linux/mips/bits/stat.h
> b/sysdeps/unix/sysv/linux/mips/bits/stat.h index
> b0e6726655..cfeb4ce6a4 100644 ---
> a/sysdeps/unix/sysv/linux/mips/bits/stat.h +++
> b/sysdeps/unix/sysv/linux/mips/bits/stat.h @@ -24,13 +24,6 @@
>  
>  #include <sgidefs.h>
>  
> -/* Versions of the `struct stat' data structure.  */
> -#define _STAT_VER_LINUX_OLD	1
> -#define _STAT_VER_KERNEL	1
> -#define _STAT_VER_SVR4		2
> -#define _STAT_VER_LINUX		3
> -#define _STAT_VER		_STAT_VER_LINUX /* The one defined
> below.  */ -
>  /* Versions of the `xmknod' interface.  */
>  #define _MKNOD_VER_LINUX	1
>  #define _MKNOD_VER_SVR4		2
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index
> 9fa655b3a5..fe9ba4e982 100644 ---
> a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++
> b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -2146,6
> +2146,14 @@ GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np F
>  GLIBC_2.32 strerrordesc_np F
>  GLIBC_2.32 strerrorname_np F
> +GLIBC_2.33 fstat F
> +GLIBC_2.33 fstat64 F
> +GLIBC_2.33 fstatat F
> +GLIBC_2.33 fstatat64 F
> +GLIBC_2.33 lstat F
> +GLIBC_2.33 lstat64 F
> +GLIBC_2.33 stat F
> +GLIBC_2.33 stat64 F
>  GLIBC_2.4 __confstr_chk F
>  GLIBC_2.4 __fgets_chk F
>  GLIBC_2.4 __fgets_unlocked_chk F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index
> de990933cf..e67591e710 100644 ---
> a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++
> b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -2152,6
> +2152,14 @@ GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np F
>  GLIBC_2.32 strerrordesc_np F
>  GLIBC_2.32 strerrorname_np F
> +GLIBC_2.33 fstat F
> +GLIBC_2.33 fstat64 F
> +GLIBC_2.33 fstatat F
> +GLIBC_2.33 fstatat64 F
> +GLIBC_2.33 lstat F
> +GLIBC_2.33 lstat64 F
> +GLIBC_2.33 stat F
> +GLIBC_2.33 stat64 F
>  GLIBC_2.4 __confstr_chk F
>  GLIBC_2.4 __fgets_chk F
>  GLIBC_2.4 __fgets_unlocked_chk F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist index
> 754491f209..e4eb9e6bbf 100644 ---
> a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++
> b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -2146,6
> +2146,14 @@ GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np F
>  GLIBC_2.32 strerrordesc_np F
>  GLIBC_2.32 strerrorname_np F
> +GLIBC_2.33 fstat F
> +GLIBC_2.33 fstat64 F
> +GLIBC_2.33 fstatat F
> +GLIBC_2.33 fstatat64 F
> +GLIBC_2.33 lstat F
> +GLIBC_2.33 lstat64 F
> +GLIBC_2.33 stat F
> +GLIBC_2.33 stat64 F
>  GLIBC_2.4 __confstr_chk F
>  GLIBC_2.4 __fgets_chk F
>  GLIBC_2.4 __fgets_unlocked_chk F
> diff --git a/sysdeps/unix/sysv/linux/mips/xstatver.h
> b/sysdeps/unix/sysv/linux/mips/xstatver.h new file mode 100644
> index 0000000000..59dba71dd1
> --- /dev/null
> +++ b/sysdeps/unix/sysv/linux/mips/xstatver.h
> @@ -0,0 +1,7 @@
> +/* Versions of the 'struct stat' data structure used in
> compatibility xstat
> +   functions.  */
> +#define _STAT_VER_LINUX_OLD	1
> +#define _STAT_VER_KERNEL	1
> +#define _STAT_VER_SVR4		2
> +#define _STAT_VER_LINUX		3
> +#define _STAT_VER		_STAT_VER_LINUX
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> b/sysdeps/unix/sysv/linux/nios2/libc.abilist index
> 36a875115c..0878998441 100644 ---
> a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++
> b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -2193,3 +2193,11 @@
> GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np F
>  GLIBC_2.32 strerrordesc_np F
>  GLIBC_2.32 strerrorname_np F
> +GLIBC_2.33 fstat F
> +GLIBC_2.33 fstat64 F
> +GLIBC_2.33 fstatat F
> +GLIBC_2.33 fstatat64 F
> +GLIBC_2.33 lstat F
> +GLIBC_2.33 lstat64 F
> +GLIBC_2.33 stat F
> +GLIBC_2.33 stat64 F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/stat.h
> b/sysdeps/unix/sysv/linux/powerpc/bits/stat.h index
> 61781bd902..40ea9a96d4 100644 ---
> a/sysdeps/unix/sysv/linux/powerpc/bits/stat.h +++
> b/sysdeps/unix/sysv/linux/powerpc/bits/stat.h @@ -24,17 +24,6 @@
>  
>  #include <bits/wordsize.h>
>  
> -/* Versions of the `struct stat' data structure.  */
> -#define _STAT_VER_LINUX_OLD	1
> -#define _STAT_VER_KERNEL	1
> -#define _STAT_VER_SVR4		2
> -#define _STAT_VER_LINUX	  3
> -#if __WORDSIZE == 32
> -# define _STAT_VER		_STAT_VER_LINUX
> -#else
> -# define _STAT_VER		_STAT_VER_KERNEL
> -#endif
> -
>  /* Versions of the `xmknod' interface.  */
>  #define _MKNOD_VER_LINUX	1
>  #define _MKNOD_VER_SVR4		2
> diff --git
> a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index
> 6de9bed51d..993c957e8e 100644 ---
> a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++
> b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@
> -2202,6 +2202,14 @@ GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np
> F GLIBC_2.32 strerrordesc_np F GLIBC_2.32 strerrorname_np F
> +GLIBC_2.33 fstat F
> +GLIBC_2.33 fstat64 F
> +GLIBC_2.33 fstatat F
> +GLIBC_2.33 fstatat64 F
> +GLIBC_2.33 lstat F
> +GLIBC_2.33 lstat64 F
> +GLIBC_2.33 stat F
> +GLIBC_2.33 stat64 F
>  GLIBC_2.4 _IO_fprintf F
>  GLIBC_2.4 _IO_printf F
>  GLIBC_2.4 _IO_sprintf F
> diff --git
> a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist index
> 92114806ac..25a8e828e9 100644 ---
> a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++
> b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@
> -2065,6 +2065,14 @@ GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np
> F GLIBC_2.32 strerrordesc_np F GLIBC_2.32 strerrorname_np F
> +GLIBC_2.33 fstat F
> +GLIBC_2.33 fstat64 F
> +GLIBC_2.33 fstatat F
> +GLIBC_2.33 fstatat64 F
> +GLIBC_2.33 lstat F
> +GLIBC_2.33 lstat64 F
> +GLIBC_2.33 stat F
> +GLIBC_2.33 stat64 F
>  GLIBC_2.4 _IO_fprintf F
>  GLIBC_2.4 _IO_printf F
>  GLIBC_2.4 _IO_sprintf F
> diff --git
> a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index
> b01fdcfae1..46ae28e552 100644 ---
> a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++
> b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@
> -2355,3 +2355,11 @@ GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np
> F GLIBC_2.32 strerrordesc_np F GLIBC_2.32 strerrorname_np F
> +GLIBC_2.33 fstat F
> +GLIBC_2.33 fstat64 F
> +GLIBC_2.33 fstatat F
> +GLIBC_2.33 fstatat64 F
> +GLIBC_2.33 lstat F
> +GLIBC_2.33 lstat64 F
> +GLIBC_2.33 stat F
> +GLIBC_2.33 stat64 F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/xstatver.h
> b/sysdeps/unix/sysv/linux/powerpc/xstatver.h new file mode 100644
> index 0000000000..1656e2f7e4
> --- /dev/null
> +++ b/sysdeps/unix/sysv/linux/powerpc/xstatver.h
> @@ -0,0 +1,11 @@
> +/* Versions of the 'struct stat' data structure used in
> compatibility xstat
> +   functions.  */
> +#define _STAT_VER_LINUX_OLD	1
> +#define _STAT_VER_KERNEL	1
> +#define _STAT_VER_SVR4		2
> +#define _STAT_VER_LINUX	  3
> +#if __WORDSIZE == 32
> +# define _STAT_VER		_STAT_VER_LINUX
> +#else
> +# define _STAT_VER		_STAT_VER_KERNEL
> +#endif
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist index
> 45cbeb1d98..1044aa6be2 100644 ---
> a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist +++
> b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist @@ -2122,3 +2122,11
> @@ GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np F
>  GLIBC_2.32 strerrordesc_np F
>  GLIBC_2.32 strerrorname_np F
> +GLIBC_2.33 fstat F
> +GLIBC_2.33 fstat64 F
> +GLIBC_2.33 fstatat F
> +GLIBC_2.33 fstatat64 F
> +GLIBC_2.33 lstat F
> +GLIBC_2.33 lstat64 F
> +GLIBC_2.33 stat F
> +GLIBC_2.33 stat64 F
> diff --git a/sysdeps/unix/sysv/linux/s390/bits/stat.h
> b/sysdeps/unix/sysv/linux/s390/bits/stat.h index
> b383a98692..d12055529a 100644 ---
> a/sysdeps/unix/sysv/linux/s390/bits/stat.h +++
> b/sysdeps/unix/sysv/linux/s390/bits/stat.h @@ -25,21 +25,9 @@
>  #include <bits/wordsize.h>
>  
>  #if __WORDSIZE == 64
> -/* Versions of the `struct stat' data structure.  */
> -# define _STAT_VER_KERNEL	0
> -# define _STAT_VER_LINUX	1
> -# define _STAT_VER		_STAT_VER_LINUX
> -
>  /* Versions of the `xmknod' interface.	*/
>  #define _MKNOD_VER_LINUX	0
>  #else
> -/* Versions of the `struct stat' data structure.  */
> -# define _STAT_VER_LINUX_OLD	1
> -# define _STAT_VER_KERNEL	1
> -# define _STAT_VER_SVR4		2
> -# define _STAT_VER_LINUX	3
> -# define _STAT_VER		_STAT_VER_LINUX
> -
>  /* Versions of the `xmknod' interface.  */
>  # define _MKNOD_VER_LINUX	1
>  # define _MKNOD_VER_SVR4	2
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index
> d0752dba6c..6b1fa7e67f 100644 ---
> a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++
> b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -2200,6
> +2200,14 @@ GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np F
>  GLIBC_2.32 strerrordesc_np F
>  GLIBC_2.32 strerrorname_np F
> +GLIBC_2.33 fstat F
> +GLIBC_2.33 fstat64 F
> +GLIBC_2.33 fstatat F
> +GLIBC_2.33 fstatat64 F
> +GLIBC_2.33 lstat F
> +GLIBC_2.33 lstat64 F
> +GLIBC_2.33 stat F
> +GLIBC_2.33 stat64 F
>  GLIBC_2.4 _IO_fprintf F
>  GLIBC_2.4 _IO_printf F
>  GLIBC_2.4 _IO_sprintf F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist index
> af5f14d1c6..0aec094e7b 100644 ---
> a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist +++
> b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist @@ -2101,6
> +2101,14 @@ GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np F
>  GLIBC_2.32 strerrordesc_np F
>  GLIBC_2.32 strerrorname_np F
> +GLIBC_2.33 fstat F
> +GLIBC_2.33 fstat64 F
> +GLIBC_2.33 fstatat F
> +GLIBC_2.33 fstatat64 F
> +GLIBC_2.33 lstat F
> +GLIBC_2.33 lstat64 F
> +GLIBC_2.33 stat F
> +GLIBC_2.33 stat64 F
>  GLIBC_2.4 _IO_fprintf F
>  GLIBC_2.4 _IO_printf F
>  GLIBC_2.4 _IO_sprintf F
> diff --git a/sysdeps/unix/sysv/linux/s390/xstatver.h
> b/sysdeps/unix/sysv/linux/s390/xstatver.h new file mode 100644
> index 0000000000..5ad0db2797
> --- /dev/null
> +++ b/sysdeps/unix/sysv/linux/s390/xstatver.h
> @@ -0,0 +1,16 @@
> +/* Versions of the 'struct stat' data structure used in
> compatibility xstat
> +   functions.  */
> +
> +#include <bits/wordsize.h>
> +
> +#if __WORDSIZE == 64
> +# define _STAT_VER_KERNEL	0
> +# define _STAT_VER_LINUX	1
> +# define _STAT_VER		_STAT_VER_LINUX
> +#else
> +# define _STAT_VER_LINUX_OLD	1
> +# define _STAT_VER_KERNEL	1
> +# define _STAT_VER_SVR4		2
> +# define _STAT_VER_LINUX	3
> +# define _STAT_VER		_STAT_VER_LINUX
> +#endif
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> b/sysdeps/unix/sysv/linux/sh/le/libc.abilist index
> 182970a708..e2ae13d4fa 100644 ---
> a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++
> b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -2067,6 +2067,14 @@
> GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np F
>  GLIBC_2.32 strerrordesc_np F
>  GLIBC_2.32 strerrorname_np F
> +GLIBC_2.33 fstat F
> +GLIBC_2.33 fstat64 F
> +GLIBC_2.33 fstatat F
> +GLIBC_2.33 fstatat64 F
> +GLIBC_2.33 lstat F
> +GLIBC_2.33 lstat64 F
> +GLIBC_2.33 stat F
> +GLIBC_2.33 stat64 F
>  GLIBC_2.4 __confstr_chk F
>  GLIBC_2.4 __fgets_chk F
>  GLIBC_2.4 __fgets_unlocked_chk F
> diff --git a/sysdeps/unix/sysv/linux/sparc/bits/stat.h
> b/sysdeps/unix/sysv/linux/sparc/bits/stat.h index
> 7379f2232d..7af17b5c40 100644 ---
> a/sysdeps/unix/sysv/linux/sparc/bits/stat.h +++
> b/sysdeps/unix/sysv/linux/sparc/bits/stat.h @@ -22,13 +22,6 @@
>  #ifndef _BITS_STAT_H
>  #define _BITS_STAT_H	1
>  
> -/* Versions of the `struct stat' data structure.  */
> -#define _STAT_VER_LINUX_OLD	1
> -#define _STAT_VER_KERNEL	1
> -#define _STAT_VER_SVR4		2
> -#define _STAT_VER_LINUX		3
> -#define _STAT_VER		_STAT_VER_LINUX	/* The one
> defined below.  */ -
>  /* Versions of the `xmknod' interface.  */
>  #define _MKNOD_VER_LINUX	1
>  #define _MKNOD_VER_SVR4		2
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index
> a2521c3ee3..886e01960f 100644 ---
> a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++
> b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -2191,6
> +2191,14 @@ GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np F
>  GLIBC_2.32 strerrordesc_np F
>  GLIBC_2.32 strerrorname_np F
> +GLIBC_2.33 fstat F
> +GLIBC_2.33 fstat64 F
> +GLIBC_2.33 fstatat F
> +GLIBC_2.33 fstatat64 F
> +GLIBC_2.33 lstat F
> +GLIBC_2.33 lstat64 F
> +GLIBC_2.33 stat F
> +GLIBC_2.33 stat64 F
>  GLIBC_2.4 _IO_fprintf F
>  GLIBC_2.4 _IO_printf F
>  GLIBC_2.4 _IO_sprintf F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist index
> d8188903f9..33b068201a 100644 ---
> a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist +++
> b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist @@ -2118,6
> +2118,14 @@ GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np F
>  GLIBC_2.32 strerrordesc_np F
>  GLIBC_2.32 strerrorname_np F
> +GLIBC_2.33 fstat F
> +GLIBC_2.33 fstat64 F
> +GLIBC_2.33 fstatat F
> +GLIBC_2.33 fstatat64 F
> +GLIBC_2.33 lstat F
> +GLIBC_2.33 lstat64 F
> +GLIBC_2.33 stat F
> +GLIBC_2.33 stat64 F
>  GLIBC_2.4 __confstr_chk F
>  GLIBC_2.4 __fgets_chk F
>  GLIBC_2.4 __fgets_unlocked_chk F
> diff --git a/sysdeps/unix/sysv/linux/sparc/xstatver.h
> b/sysdeps/unix/sysv/linux/sparc/xstatver.h new file mode 100644
> index 0000000000..ae92b530e7
> --- /dev/null
> +++ b/sysdeps/unix/sysv/linux/sparc/xstatver.h
> @@ -0,0 +1,7 @@
> +/* Versions of the 'struct stat' data structure used in
> compatibility xstat
> +   functions.  */
> +#define _STAT_VER_LINUX_OLD	1
> +#define _STAT_VER_KERNEL	1
> +#define _STAT_VER_SVR4		2
> +#define _STAT_VER_LINUX		3
> +#define _STAT_VER		_STAT_VER_LINUX	/* The one
> defined below.  */ diff --git
> a/sysdeps/unix/sysv/linux/x86/bits/stat.h
> b/sysdeps/unix/sysv/linux/x86/bits/stat.h index
> 25dec69dda..f132569e9d 100644 ---
> a/sysdeps/unix/sysv/linux/x86/bits/stat.h +++
> b/sysdeps/unix/sysv/linux/x86/bits/stat.h @@ -24,25 +24,15 @@ 
>  /* Versions of the `struct stat' data structure.  */
>  #ifndef __x86_64__
> -# define _STAT_VER_LINUX_OLD	1
> -# define _STAT_VER_KERNEL	1
> -# define _STAT_VER_SVR4		2
> -# define _STAT_VER_LINUX	3
> -
>  /* i386 versions of the `xmknod' interface.  */
>  # define _MKNOD_VER_LINUX	1
>  # define _MKNOD_VER_SVR4	2
>  # define _MKNOD_VER		_MKNOD_VER_LINUX /* The bits
> defined below.  */ #else
> -# define _STAT_VER_KERNEL	0
> -# define _STAT_VER_LINUX	1
> -
>  /* x86-64 versions of the `xmknod' interface.  */
>  # define _MKNOD_VER_LINUX	0
>  #endif
>  
> -#define _STAT_VER		_STAT_VER_LINUX
> -
>  struct stat
>    {
>      __dev_t st_dev;		/* Device.  */
> diff --git a/sysdeps/unix/sysv/linux/x86/xstatver.h
> b/sysdeps/unix/sysv/linux/x86/xstatver.h new file mode 100644
> index 0000000000..6f047a346d
> --- /dev/null
> +++ b/sysdeps/unix/sysv/linux/x86/xstatver.h
> @@ -0,0 +1,13 @@
> +/* Versions of the 'struct stat' data structure used in
> compatibility xstat
> +   functions.  */
> +#ifndef __x86_64__
> +# define _STAT_VER_LINUX_OLD	1
> +# define _STAT_VER_KERNEL	1
> +# define _STAT_VER_SVR4		2
> +# define _STAT_VER_LINUX	3
> +#else
> +# define _STAT_VER_KERNEL	0
> +# define _STAT_VER_LINUX	1
> +#endif
> +#define _STAT_VER		_STAT_VER_LINUX
> +
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist index
> 1a96103c68..f767bdde24 100644 ---
> a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist +++
> b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -2076,6 +2076,14
> @@ GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np F
>  GLIBC_2.32 strerrordesc_np F
>  GLIBC_2.32 strerrorname_np F
> +GLIBC_2.33 fstat F
> +GLIBC_2.33 fstat64 F
> +GLIBC_2.33 fstatat F
> +GLIBC_2.33 fstatat64 F
> +GLIBC_2.33 lstat F
> +GLIBC_2.33 lstat64 F
> +GLIBC_2.33 stat F
> +GLIBC_2.33 stat64 F
>  GLIBC_2.4 __confstr_chk F
>  GLIBC_2.4 __fgets_chk F
>  GLIBC_2.4 __fgets_unlocked_chk F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist index
> 35745a75b6..535862a51e 100644 ---
> a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist +++
> b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist @@ -2173,3 +2173,11
> @@ GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np F
>  GLIBC_2.32 strerrordesc_np F
>  GLIBC_2.32 strerrorname_np F
> +GLIBC_2.33 fstat F
> +GLIBC_2.33 fstat64 F
> +GLIBC_2.33 fstatat F
> +GLIBC_2.33 fstatat64 F
> +GLIBC_2.33 lstat F
> +GLIBC_2.33 lstat64 F
> +GLIBC_2.33 stat F
> +GLIBC_2.33 stat64 F
> diff --git a/sysdeps/unix/sysv/linux/xstatver.h
> b/sysdeps/unix/sysv/linux/xstatver.h new file mode 100644
> index 0000000000..59dba71dd1
> --- /dev/null
> +++ b/sysdeps/unix/sysv/linux/xstatver.h
> @@ -0,0 +1,7 @@
> +/* Versions of the 'struct stat' data structure used in
> compatibility xstat
> +   functions.  */
> +#define _STAT_VER_LINUX_OLD	1
> +#define _STAT_VER_KERNEL	1
> +#define _STAT_VER_SVR4		2
> +#define _STAT_VER_LINUX		3
> +#define _STAT_VER		_STAT_VER_LINUX




Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

  reply	other threads:[~2020-07-24  9:24 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-23 19:46 [PATCH 00/16] Add y2038 support for stat functions Adhemerval Zanella via Libc-alpha
2020-07-23 19:46 ` [PATCH 01/16] linux: Always define STAT_IS_KERNEL_STAT Adhemerval Zanella via Libc-alpha
2020-07-24  8:17   ` Lukasz Majewski
2020-07-23 19:46 ` [PATCH 02/16] linux: Define STAT64_IS_KERNEL_STAT64 Adhemerval Zanella via Libc-alpha
2020-07-24  8:20   ` Lukasz Majewski
2020-07-23 19:46 ` [PATCH 03/16] linux: Consolidate xstat{64} Adhemerval Zanella via Libc-alpha
2020-07-23 20:51   ` Joseph Myers
2020-07-24  8:34   ` Lukasz Majewski
2020-09-09 14:46   ` Lukasz Majewski
2020-09-09 18:05     ` Adhemerval Zanella via Libc-alpha
2020-09-10  7:10       ` Lukasz Majewski
2020-07-23 19:46 ` [PATCH 04/16] linux: Consolidate lxstat{64} Adhemerval Zanella via Libc-alpha
2020-07-24  8:43   ` Lukasz Majewski
2020-07-23 19:46 ` [PATCH 05/16] linux: Consolidate fxstat{64} Adhemerval Zanella via Libc-alpha
2020-07-24  9:04   ` Lukasz Majewski
2020-07-23 19:46 ` [PATCH 06/16] linux: Consolidate fxstatat{64} Adhemerval Zanella via Libc-alpha
2020-07-24  9:14   ` Lukasz Majewski
2020-07-23 19:46 ` [PATCH 07/16] Linux: Consolidate xmknod Adhemerval Zanella via Libc-alpha
2020-07-24  9:14   ` Lukasz Majewski
2020-07-23 19:46 ` [PATCH 08/16] Remove internal usage of extensible stat functions Adhemerval Zanella via Libc-alpha
2020-07-24  9:16   ` Lukasz Majewski
2020-07-23 19:46 ` [PATCH 09/16] Remove stat wrapper functions, move them to exported symbols Adhemerval Zanella via Libc-alpha
2020-07-24  9:23   ` Lukasz Majewski [this message]
2020-07-23 19:46 ` [PATCH 10/16] Remove mknod wrapper functions, move them to symbols Adhemerval Zanella via Libc-alpha
2020-07-23 20:53   ` Joseph Myers
2020-07-23 20:58     ` Adhemerval Zanella via Libc-alpha
2020-07-23 21:01       ` Joseph Myers
2020-07-24  9:25   ` Lukasz Majewski
2020-10-12 22:27   ` Joseph Myers
2020-10-13  0:58     ` Adhemerval Zanella via Libc-alpha
2020-07-23 19:46 ` [PATCH 11/16] linux: Move the struct stat{64} to struct_stat.h Adhemerval Zanella via Libc-alpha
2020-07-24  9:27   ` Lukasz Majewski
2020-07-23 19:46 ` [PATCH 12/16] linux: Implement {l}fstat{at} in terms of fstatat Adhemerval Zanella via Libc-alpha
2020-07-24  9:29   ` Lukasz Majewski
2020-07-23 19:46 ` [PATCH 13/16] linux: Disentangle fstatat from fxstatat Adhemerval Zanella via Libc-alpha
2020-07-24  9:39   ` Lukasz Majewski
2020-07-24 10:25   ` Florian Weimer via Libc-alpha
2020-07-24 14:39     ` Adhemerval Zanella via Libc-alpha
2020-07-23 19:46 ` [PATCH 14/16] linux: Move {f}xstat{at} to compat symbols Adhemerval Zanella via Libc-alpha
2020-07-24  9:40   ` Lukasz Majewski
2020-10-21  5:21   ` __xstat et al. as compat symbols (was: Re: [PATCH 14/16] linux: Move {f}xstat{at} to compat symbols) Florian Weimer via Libc-alpha
2020-10-21 11:59     ` Adhemerval Zanella via Libc-alpha
2020-10-21 12:57       ` __xstat et al. as compat symbols Florian Weimer via Libc-alpha
2020-10-21 13:09         ` Adhemerval Zanella via Libc-alpha
2020-10-22 10:08           ` Florian Weimer via Libc-alpha
2020-10-22 12:43             ` Adhemerval Zanella via Libc-alpha
2020-10-22 15:37               ` Florian Weimer via Libc-alpha
2020-10-22 16:40                 ` Adhemerval Zanella via Libc-alpha
2020-10-22 18:04                   ` Adhemerval Zanella via Libc-alpha
2020-07-23 19:46 ` [PATCH 15/16] linux: Add {f}stat{at} y2038 support Adhemerval Zanella via Libc-alpha
2020-07-23 20:55   ` Joseph Myers
2020-07-23 21:00     ` Adhemerval Zanella via Libc-alpha
2020-07-24 10:53   ` Lukasz Majewski
2020-07-30 12:42     ` Adhemerval Zanella via Libc-alpha
2020-08-02 19:46       ` Maciej W. Rozycki via Libc-alpha
2020-10-06  9:48   ` Lukasz Majewski
2020-10-07 12:52     ` Adhemerval Zanella via Libc-alpha
2020-10-07 14:25       ` Adhemerval Zanella via Libc-alpha
2020-10-07 20:20         ` Lukasz Majewski
2020-10-07 21:01           ` Adhemerval Zanella via Libc-alpha
2020-10-07 21:07         ` Adhemerval Zanella via Libc-alpha
2020-10-08  7:57           ` Lukasz Majewski
2020-10-09 14:05             ` Adhemerval Zanella via Libc-alpha
2020-10-09 15:39               ` Lukasz Majewski
2020-10-09 20:06                 ` Adhemerval Zanella via Libc-alpha
2020-10-13 13:58         ` Lukasz Majewski
2020-10-13 14:18           ` Adhemerval Zanella via Libc-alpha
2020-10-13 14:23             ` H.J. Lu via Libc-alpha
2020-10-13 14:27               ` Adhemerval Zanella via Libc-alpha
2020-10-13 18:14             ` Adhemerval Zanella via Libc-alpha
2020-10-13 21:20               ` Lukasz Majewski
2020-10-13 21:40             ` Lukasz Majewski
2020-10-14 13:15               ` Lukasz Majewski
2020-10-14 13:39                 ` Adhemerval Zanella via Libc-alpha
2020-07-23 19:46 ` [PATCH 16/16] linux: Move xmknoda{at} to compat symbols Adhemerval Zanella via Libc-alpha
2020-07-24 10:30   ` Florian Weimer via Libc-alpha
2020-07-24 12:34     ` Adhemerval Zanella via Libc-alpha
2020-07-24 12:43       ` Florian Weimer via Libc-alpha
2020-07-24 12:49         ` Adhemerval Zanella via Libc-alpha
2020-07-24 10:43   ` Lukasz Majewski

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

  List information: https://www.gnu.org/software/libc/involved.html

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

  git send-email \
    --in-reply-to=20200724112356.3d03e17d@jawa \
    --to=lukma@denx.de \
    --cc=adhemerval.zanella@linaro.org \
    --cc=alistair.francis@wdc.com \
    --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).