unofficial mirror of libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Adhemerval Zanella via Libc-alpha <libc-alpha@sourceware.org>
To: libc-alpha@sourceware.org
Cc: Alistair Francis <alistair.francis@wdc.com>
Subject: [PATCH 00/16] Add y2038 support for stat functions
Date: Thu, 23 Jul 2020 16:46:25 -0300	[thread overview]
Message-ID: <20200723194641.1949404-1-adhemerval.zanella@linaro.org> (raw)

As discussed in a previous thread [1], the {f,l}stat{at}{64} functions
use an old mechanism prior symbol versioning to provide a compatibility
layer.  As described in the thread, this approach has some drawbacks so
I decided to use the anoother strategy which requires a lot of plumbing.

So the first 6 patches consolidate the various {f,l}xstat{64} linux
implementations.  I tried to keep as less arch-specific implementations
as possible (there are still outliers such as alpha and mips).  The
xstat implementation is mainly responsible to issue the correct syscall,
the heavy lifting of handling the _STAT_VER versions are done on the
xstat_conv functions (which is not changed on this patchset).

The next patch removes all internal usage of xstat function by replacing
with the stat one.  It would allow to move the xstat function later to
compat symbols.

Some Linux consolidation is also done to avoid need to replicate the new
y2038 stat struct on multiple architectures or add syscall support on
multiple symbols.  First the struct stat is moved to its own header and
stat/lstat/fstat is implemented on top on fstatat.

Finally fstatat is implemented without calling fxstatat and xstat symbols
are moved to compat ones.

The y2038 stat struct is added as as generic definition for all Linux
ABIs and it is disentangled from kernel ABI.

The patchset also removes the mknod{at} static wrapper and move them
to libc symbols.  I decided to send it along this patchset because its
defintion are entangled on platform specific header and moving them to
compat symbols allow to simplify the stat code as well.

[1] https://sourceware.org/pipermail/libc-alpha/2020-July/116342.html

Adhemerval Zanella (16):
  linux: Always define STAT_IS_KERNEL_STAT
  linux: Define STAT64_IS_KERNEL_STAT64
  linux: Consolidate xstat{64}
  linux: Consolidate lxstat{64}
  linux: Consolidate fxstat{64}
  linux: Consolidate fxstatat{64}
  Linux: Consolidate xmknod
  Remove internal usage of extensible stat functions
  Remove stat wrapper functions, move them to exported symbols
  Remove mknod wrapper functions, move them to symbols
  linux: Move the struct stat{64} to struct_stat.h
  linux: Implement {l}fstat{at} in terms of fstatat
  linux: Disentangle fstatat from fxstatat
  linux: Move {f}xstat{at} to compat symbols
  linux: Add {f}stat{at} y2038 support
  linux: Move xmknoda{at} to compat symbols

 catgets/open_catalog.c                        |   2 +-
 csu/check_fds.c                               |   2 +-
 elf/cache.c                                   |   4 +-
 elf/dl-load.c                                 |   4 +-
 elf/dl-misc.c                                 |   2 +-
 elf/dl-profile.c                              |   2 +-
 iconv/gconv_cache.c                           |   2 +-
 include/sys/stat.h                            | 166 +++++++++++++-----
 inet/rcmd.c                                   |   4 +-
 inet/ruserpass.c                              |   2 +-
 intl/loadmsgcat.c                             |   2 +-
 io/Makefile                                   |   7 +-
 io/Versions                                   |   5 +
 io/file_change_detection.c                    |   4 +-
 io/fstat.c                                    |  33 +---
 io/fstat64.c                                  |  36 +---
 io/fstatat.c                                  |  36 +---
 io/fstatat64.c                                |  36 +---
 io/fts.c                                      |  15 +-
 io/fts64.c                                    |   5 +-
 io/ftw.c                                      |  46 ++---
 io/ftw64.c                                    |   8 +-
 io/getdirname.c                               |   4 +-
 io/lstat.c                                    |  33 +---
 io/lstat64.c                                  |  36 +---
 io/mkdirat.c                                  |   2 +-
 io/mkfifoat.c                                 |   2 +-
 io/mknod.c                                    |  35 +---
 io/mknodat.c                                  |  35 +---
 io/openat.c                                   |   2 +-
 io/openat64.c                                 |   2 +-
 io/stat.c                                     |  34 +---
 io/stat64.c                                   |  36 +---
 io/sys/stat.h                                 | 159 -----------------
 io/xmknodat.c                                 |   2 +-
 libio/fileops.c                               |   2 +-
 locale/loadarchive.c                          |   4 +-
 locale/loadlocale.c                           |   4 +-
 misc/daemon.c                                 |   2 +-
 misc/getusershell.c                           |   2 +-
 nptl/sem_open.c                               |   2 +-
 nscd/gai.c                                    |   5 +
 nscd/nscd_helper.c                            |   2 +-
 posix/glob.c                                  |   7 -
 stdlib/canonicalize.c                         |   2 +-
 sysdeps/generic/struct_stat_time64.h          |   7 +
 sysdeps/generic/xstatver.h                    |   4 +
 sysdeps/gnu/glob64-lstat-compat.c             |   2 +-
 sysdeps/gnu/glob64.c                          |   2 +-
 sysdeps/mach/hurd/i386/libc.abilist           |  10 ++
 sysdeps/mach/hurd/ptsname.c                   |   2 +-
 sysdeps/mach/hurd/xmknod.c                    |   1 -
 sysdeps/mach/hurd/xmknodat.c                  |   2 -
 sysdeps/posix/dl-fileid.h                     |   2 +-
 sysdeps/posix/euidaccess.c                    |   2 +-
 sysdeps/posix/fdopendir.c                     |   2 +-
 sysdeps/posix/fpathconf.c                     |   2 +-
 sysdeps/posix/getaddrinfo.c                   |   4 +-
 sysdeps/posix/isfdtype.c                      |   2 +-
 sysdeps/posix/mkfifo.c                        |   3 +-
 sysdeps/posix/mkfifoat.c                      |   3 +-
 sysdeps/posix/opendir.c                       |   2 +-
 sysdeps/posix/pathconf.c                      |   2 +-
 sysdeps/posix/posix_fallocate.c               |   2 +-
 sysdeps/posix/posix_fallocate64.c             |   2 +-
 sysdeps/posix/sysconf.c                       |   2 +-
 sysdeps/posix/tempname.c                      |   5 +-
 sysdeps/unix/sysv/linux/Makefile              |   8 +-
 sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  10 ++
 .../alpha/bits/{stat.h => struct_stat.h}      |  56 +-----
 sysdeps/unix/sysv/linux/alpha/dl-fxstatat64.c |   1 -
 .../sysv/linux/alpha/{fxstat.c => fxstat64.c} |  56 +++---
 sysdeps/unix/sysv/linux/alpha/fxstatat.c      |  52 ------
 .../{generic/xstat.c => alpha/fxstatat64.c}   |  35 ++--
 sysdeps/unix/sysv/linux/alpha/kernel_stat.h   |   2 +
 sysdeps/unix/sysv/linux/alpha/libc.abilist    |  10 ++
 .../sysv/linux/alpha/{lxstat.c => lxstat64.c} |  55 +++---
 .../sysv/linux/alpha/{xstat.c => xstat64.c}   |  55 +++---
 sysdeps/unix/sysv/linux/alpha/xstatver.h      |  14 ++
 sysdeps/unix/sysv/linux/arc/kernel_stat.h     |   1 +
 sysdeps/unix/sysv/linux/arc/libc.abilist      |  10 ++
 sysdeps/unix/sysv/linux/arm/fxstat.c          |   1 -
 sysdeps/unix/sysv/linux/arm/fxstatat.c        |   1 -
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  10 ++
 sysdeps/unix/sysv/linux/arm/lxstat.c          |   1 -
 sysdeps/unix/sysv/linux/arm/xstat.c           |   1 -
 sysdeps/unix/sysv/linux/bits/stat.h           | 114 +-----------
 sysdeps/unix/sysv/linux/bits/struct_stat.h    | 131 ++++++++++++++
 sysdeps/unix/sysv/linux/csky/libc.abilist     |  10 ++
 sysdeps/unix/sysv/linux/faccessat.c           |   2 +-
 sysdeps/unix/sysv/linux/fexecve.c             |   4 +-
 sysdeps/unix/sysv/linux/fstat.c               |  42 +++++
 sysdeps/unix/sysv/linux/fstat64.c             |  52 ++++++
 sysdeps/unix/sysv/linux/fstatat.c             |  92 ++++++++++
 sysdeps/unix/sysv/linux/fstatat64.c           | 125 +++++++++++++
 sysdeps/unix/sysv/linux/fxstat.c              |  67 +++----
 sysdeps/unix/sysv/linux/fxstat64.c            |  56 +++---
 sysdeps/unix/sysv/linux/fxstatat.c            |  63 +++----
 sysdeps/unix/sysv/linux/fxstatat64.c          |  75 +++++---
 .../generic/bits/{stat.h => struct_stat.h}    |  59 +------
 sysdeps/unix/sysv/linux/generic/lxstat.c      |  48 -----
 .../sysv/linux/generic/wordsize-32/fxstat.c   |  57 ------
 .../sysv/linux/generic/wordsize-32/fxstat64.c |  36 ----
 .../sysv/linux/generic/wordsize-32/fxstatat.c |  56 ------
 .../sysv/linux/generic/wordsize-32/lxstat.c   |  55 ------
 .../sysv/linux/generic/wordsize-32/lxstat64.c |  66 -------
 .../sysv/linux/generic/wordsize-32/xstat.c    |  54 ------
 .../sysv/linux/generic/wordsize-32/xstat64.c  |  63 -------
 sysdeps/unix/sysv/linux/generic/xmknod.c      |  54 ------
 sysdeps/unix/sysv/linux/generic/xstatver.h    |  10 ++
 sysdeps/unix/sysv/linux/hppa/fxstat.c         |   1 -
 sysdeps/unix/sysv/linux/hppa/fxstatat.c       |   1 -
 sysdeps/unix/sysv/linux/hppa/kernel_stat.h    |   2 +
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |  10 ++
 sysdeps/unix/sysv/linux/hppa/lxstat.c         |   1 -
 sysdeps/unix/sysv/linux/hppa/xstat.c          |   1 -
 sysdeps/unix/sysv/linux/i386/fxstat.c         |  59 -------
 sysdeps/unix/sysv/linux/i386/fxstatat.c       |  54 ------
 sysdeps/unix/sysv/linux/i386/libc.abilist     |  10 ++
 sysdeps/unix/sysv/linux/i386/lxstat.c         |  60 -------
 sysdeps/unix/sysv/linux/i386/xstat.c          |  59 -------
 .../linux/ia64/bits/{stat.h => struct_stat.h} |  53 +-----
 sysdeps/unix/sysv/linux/ia64/kernel_stat.h    |   1 +
 sysdeps/unix/sysv/linux/ia64/libc.abilist     |  10 ++
 sysdeps/unix/sysv/linux/ia64/xstatver.h       |  10 ++
 sysdeps/unix/sysv/linux/kernel_stat.h         |   2 +
 sysdeps/unix/sysv/linux/kstat_cp.h            |   2 +
 sysdeps/unix/sysv/linux/lstat.c               |  42 +++++
 sysdeps/unix/sysv/linux/lstat64.c             |  51 ++++++
 sysdeps/unix/sysv/linux/lxstat.c              |  69 ++++----
 sysdeps/unix/sysv/linux/lxstat64.c            |  71 ++++++--
 .../linux/m68k/bits/{stat.h => struct_stat.h} |  57 +-----
 sysdeps/unix/sysv/linux/m68k/fxstat.c         |   1 -
 sysdeps/unix/sysv/linux/m68k/fxstatat.c       |   1 -
 sysdeps/unix/sysv/linux/m68k/lxstat.c         |   1 -
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  10 ++
 sysdeps/unix/sysv/linux/m68k/xstat.c          |   1 -
 sysdeps/unix/sysv/linux/m68k/xstatver.h       |  13 ++
 .../sysv/linux/microblaze/be/libc.abilist     |  10 ++
 .../microblaze/bits/{stat.h => struct_stat.h} |  65 ++-----
 sysdeps/unix/sysv/linux/microblaze/fxstat.c   |   1 -
 sysdeps/unix/sysv/linux/microblaze/fxstatat.c |   1 -
 .../unix/sysv/linux/microblaze/kernel_stat.h  |   2 +
 sysdeps/unix/sysv/linux/microblaze/lxstat.c   |   1 -
 sysdeps/unix/sysv/linux/microblaze/xstat.c    |   1 -
 sysdeps/unix/sysv/linux/microblaze/xstatver.h |  13 ++
 .../linux/mips/bits/{stat.h => struct_stat.h} |  57 +-----
 sysdeps/unix/sysv/linux/mips/fxstat.c         |  49 ++++++
 sysdeps/unix/sysv/linux/mips/kernel_stat.h    |   7 +
 .../sysv/linux/{wordsize-64 => mips}/lxstat.c |  44 ++---
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |  10 ++
 .../unix/sysv/linux/mips/mips32/fxstatat.c    |   1 -
 .../unix/sysv/linux/mips/mips64/fxstat64.c    |  21 +--
 .../fxstat.c => mips/mips64/fxstatat.c}       |  33 ++--
 .../unix/sysv/linux/mips/mips64/fxstatat64.c  |  35 ++--
 .../unix/sysv/linux/mips/mips64/kstat_cp.h    |  71 ++++++++
 .../unix/sysv/linux/mips/mips64/lxstat64.c    |  22 +--
 .../sysv/linux/mips/mips64/n32/libc.abilist   |  10 ++
 .../sysv/linux/mips/mips64/n64/libc.abilist   |  10 ++
 .../unix/sysv/linux/mips/mips64/statx_cp.c    |   3 -
 sysdeps/unix/sysv/linux/mips/mips64/xstat64.c |  25 ++-
 .../sysv/linux/{wordsize-64 => mips}/xstat.c  |  41 +++--
 sysdeps/unix/sysv/linux/mips/xstatver.h       |  13 ++
 sysdeps/unix/sysv/linux/mknod.c               |  28 +++
 sysdeps/unix/sysv/linux/mknodat.c             |  41 +++++
 sysdeps/unix/sysv/linux/nios2/libc.abilist    |  10 ++
 sysdeps/unix/sysv/linux/oldglob.c             |   2 +-
 sysdeps/unix/sysv/linux/pathconf.c            |   4 +-
 .../powerpc/bits/{stat.h => struct_stat.h}    |  64 +------
 .../linux/powerpc/powerpc32/fpu/libc.abilist  |  10 ++
 .../sysv/linux/powerpc/powerpc32/fxstat.c     |   1 -
 .../sysv/linux/powerpc/powerpc32/fxstatat.c   |   1 -
 .../linux/powerpc/powerpc32/kernel_stat.h     |   2 +
 .../sysv/linux/powerpc/powerpc32/lxstat.c     |   2 -
 .../unix/sysv/linux/powerpc/powerpc32/xstat.c |   1 -
 .../linux/powerpc/powerpc64/be/libc.abilist   |  10 ++
 .../linux/powerpc/powerpc64/kernel_stat.h     |   1 +
 .../linux/powerpc/powerpc64/le/libc.abilist   |  10 ++
 sysdeps/unix/sysv/linux/powerpc/xstatver.h    |  17 ++
 sysdeps/unix/sysv/linux/ptsname.c             |   4 +-
 .../unix/sysv/linux/riscv/rv64/libc.abilist   |  10 ++
 .../linux/s390/bits/{stat.h => struct_stat.h} |  68 +------
 sysdeps/unix/sysv/linux/s390/s390-32/fxstat.c |   1 -
 .../unix/sysv/linux/s390/s390-32/fxstatat.c   |   1 -
 .../unix/sysv/linux/s390/s390-32/libc.abilist |  10 ++
 sysdeps/unix/sysv/linux/s390/s390-32/lxstat.c |   1 -
 sysdeps/unix/sysv/linux/s390/s390-32/xstat.c  |   1 -
 .../sysv/linux/s390/s390-64/kernel_stat.h     |   1 +
 .../unix/sysv/linux/s390/s390-64/libc.abilist |  10 ++
 sysdeps/unix/sysv/linux/s390/xstatver.h       |  20 +++
 sysdeps/unix/sysv/linux/sh/fxstat.c           |   1 -
 sysdeps/unix/sysv/linux/sh/fxstatat.c         |   1 -
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  10 ++
 sysdeps/unix/sysv/linux/sh/lxstat.c           |   2 -
 sysdeps/unix/sysv/linux/sh/xstat.c            |   1 -
 .../sparc/bits/{stat.h => struct_stat.h}      |  60 +------
 .../unix/sysv/linux/sparc/sparc32/fxstat.c    |   1 -
 .../unix/sysv/linux/sparc/sparc32/fxstatat.c  |   1 -
 .../sysv/linux/sparc/sparc32/kernel_stat.h    |   2 +
 .../sysv/linux/sparc/sparc32/libc.abilist     |  10 ++
 .../unix/sysv/linux/sparc/sparc32/lxstat.c    |   2 -
 sysdeps/unix/sysv/linux/sparc/sparc32/xstat.c |   1 -
 .../sysv/linux/sparc/sparc64/dl-fxstatat64.c  |   1 -
 .../unix/sysv/linux/sparc/sparc64/fxstat.c    |   1 -
 .../unix/sysv/linux/sparc/sparc64/fxstatat.c  |   1 -
 .../sysv/linux/sparc/sparc64/kernel_stat.h    |   7 +
 .../unix/sysv/linux/sparc/sparc64/kstat_cp.h  |  46 +++++
 .../sysv/linux/sparc/sparc64/libc.abilist     |  10 ++
 .../unix/sysv/linux/sparc/sparc64/lxstat.c    |   1 -
 sysdeps/unix/sysv/linux/sparc/sparc64/xstat.c |   1 -
 sysdeps/unix/sysv/linux/sparc/xstatver.h      |  13 ++
 sysdeps/unix/sysv/linux/stat.c                |  42 +++++
 sysdeps/unix/sysv/linux/stat64.c              |  52 ++++++
 sysdeps/unix/sysv/linux/stat_t64_cp.c         |  92 ++++++++++
 .../fxstatat64.c => stat_t64_cp.h}            |  27 +--
 sysdeps/unix/sysv/linux/statx_cp.c            |  54 ++++++
 sysdeps/unix/sysv/linux/statx_cp.h            |   6 +
 sysdeps/unix/sysv/linux/struct_stat_time64.h  | 122 +++++++++++++
 sysdeps/unix/sysv/linux/ttyname.c             |   8 +-
 sysdeps/unix/sysv/linux/ttyname_r.c           |   8 +-
 .../sysv/linux/wordsize-64/dl-fxstatat64.c    |   1 -
 .../unix/sysv/linux/wordsize-64/fxstat64.c    |   1 -
 .../unix/sysv/linux/wordsize-64/fxstatat.c    |  48 -----
 .../unix/sysv/linux/wordsize-64/fxstatat64.c  |   1 -
 .../unix/sysv/linux/wordsize-64/lxstat64.c    |   1 -
 sysdeps/unix/sysv/linux/wordsize-64/xstat64.c |   1 -
 .../linux/x86/bits/{stat.h => struct_stat.h}  |  67 +------
 sysdeps/unix/sysv/linux/x86/xstatver.h        |  16 ++
 .../unix/sysv/linux/x86_64/64/libc.abilist    |  10 ++
 sysdeps/unix/sysv/linux/x86_64/kernel_stat.h  |   1 +
 .../unix/sysv/linux/x86_64/x32/libc.abilist   |  10 ++
 sysdeps/unix/sysv/linux/xmknod.c              |  24 +--
 sysdeps/unix/sysv/linux/xmknodat.c            |  23 +--
 sysdeps/unix/sysv/linux/xstat.c               |  68 ++++---
 sysdeps/unix/sysv/linux/xstat64.c             |  64 +++++--
 sysdeps/unix/sysv/linux/xstatconv.c           |   2 +-
 sysdeps/unix/sysv/linux/xstatconv.h           |   2 +-
 sysdeps/unix/sysv/linux/xstatover.h           |  67 +++++++
 sysdeps/unix/sysv/linux/xstatver.h            |  13 ++
 sysvipc/ftok.c                                |   2 +-
 time/getdate.c                                |   2 +-
 time/tzfile.c                                 |   4 +-
 242 files changed, 2587 insertions(+), 2627 deletions(-)
 create mode 100644 sysdeps/generic/struct_stat_time64.h
 create mode 100644 sysdeps/generic/xstatver.h
 rename sysdeps/unix/sysv/linux/alpha/bits/{stat.h => struct_stat.h} (68%)
 delete mode 100644 sysdeps/unix/sysv/linux/alpha/dl-fxstatat64.c
 rename sysdeps/unix/sysv/linux/alpha/{fxstat.c => fxstat64.c} (53%)
 delete mode 100644 sysdeps/unix/sysv/linux/alpha/fxstatat.c
 rename sysdeps/unix/sysv/linux/{generic/xstat.c => alpha/fxstatat64.c} (56%)
 rename sysdeps/unix/sysv/linux/alpha/{lxstat.c => lxstat64.c} (55%)
 rename sysdeps/unix/sysv/linux/alpha/{xstat.c => xstat64.c} (55%)
 create mode 100644 sysdeps/unix/sysv/linux/alpha/xstatver.h
 delete mode 100644 sysdeps/unix/sysv/linux/arm/fxstat.c
 delete mode 100644 sysdeps/unix/sysv/linux/arm/fxstatat.c
 delete mode 100644 sysdeps/unix/sysv/linux/arm/lxstat.c
 delete mode 100644 sysdeps/unix/sysv/linux/arm/xstat.c
 create mode 100644 sysdeps/unix/sysv/linux/bits/struct_stat.h
 create mode 100644 sysdeps/unix/sysv/linux/fstat.c
 create mode 100644 sysdeps/unix/sysv/linux/fstat64.c
 create mode 100644 sysdeps/unix/sysv/linux/fstatat.c
 create mode 100644 sysdeps/unix/sysv/linux/fstatat64.c
 rename sysdeps/unix/sysv/linux/generic/bits/{stat.h => struct_stat.h} (70%)
 delete mode 100644 sysdeps/unix/sysv/linux/generic/lxstat.c
 delete mode 100644 sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat.c
 delete mode 100644 sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat64.c
 delete mode 100644 sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat.c
 delete mode 100644 sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c
 delete mode 100644 sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c
 delete mode 100644 sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c
 delete mode 100644 sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c
 delete mode 100644 sysdeps/unix/sysv/linux/generic/xmknod.c
 create mode 100644 sysdeps/unix/sysv/linux/generic/xstatver.h
 delete mode 100644 sysdeps/unix/sysv/linux/hppa/fxstat.c
 delete mode 100644 sysdeps/unix/sysv/linux/hppa/fxstatat.c
 delete mode 100644 sysdeps/unix/sysv/linux/hppa/lxstat.c
 delete mode 100644 sysdeps/unix/sysv/linux/hppa/xstat.c
 delete mode 100644 sysdeps/unix/sysv/linux/i386/fxstat.c
 delete mode 100644 sysdeps/unix/sysv/linux/i386/fxstatat.c
 delete mode 100644 sysdeps/unix/sysv/linux/i386/lxstat.c
 delete mode 100644 sysdeps/unix/sysv/linux/i386/xstat.c
 rename sysdeps/unix/sysv/linux/ia64/bits/{stat.h => struct_stat.h} (72%)
 create mode 100644 sysdeps/unix/sysv/linux/ia64/xstatver.h
 create mode 100644 sysdeps/unix/sysv/linux/kstat_cp.h
 create mode 100644 sysdeps/unix/sysv/linux/lstat.c
 create mode 100644 sysdeps/unix/sysv/linux/lstat64.c
 rename sysdeps/unix/sysv/linux/m68k/bits/{stat.h => struct_stat.h} (72%)
 delete mode 100644 sysdeps/unix/sysv/linux/m68k/fxstat.c
 delete mode 100644 sysdeps/unix/sysv/linux/m68k/fxstatat.c
 delete mode 100644 sysdeps/unix/sysv/linux/m68k/lxstat.c
 delete mode 100644 sysdeps/unix/sysv/linux/m68k/xstat.c
 create mode 100644 sysdeps/unix/sysv/linux/m68k/xstatver.h
 rename sysdeps/unix/sysv/linux/microblaze/bits/{stat.h => struct_stat.h} (77%)
 delete mode 100644 sysdeps/unix/sysv/linux/microblaze/fxstat.c
 delete mode 100644 sysdeps/unix/sysv/linux/microblaze/fxstatat.c
 delete mode 100644 sysdeps/unix/sysv/linux/microblaze/lxstat.c
 delete mode 100644 sysdeps/unix/sysv/linux/microblaze/xstat.c
 create mode 100644 sysdeps/unix/sysv/linux/microblaze/xstatver.h
 rename sysdeps/unix/sysv/linux/mips/bits/{stat.h => struct_stat.h} (81%)
 create mode 100644 sysdeps/unix/sysv/linux/mips/fxstat.c
 rename sysdeps/unix/sysv/linux/{wordsize-64 => mips}/lxstat.c (59%)
 delete mode 100644 sysdeps/unix/sysv/linux/mips/mips32/fxstatat.c
 rename sysdeps/unix/sysv/linux/{wordsize-64/fxstat.c => mips/mips64/fxstatat.c} (62%)
 create mode 100644 sysdeps/unix/sysv/linux/mips/mips64/kstat_cp.h
 delete mode 100644 sysdeps/unix/sysv/linux/mips/mips64/statx_cp.c
 rename sysdeps/unix/sysv/linux/{wordsize-64 => mips}/xstat.c (66%)
 create mode 100644 sysdeps/unix/sysv/linux/mips/xstatver.h
 create mode 100644 sysdeps/unix/sysv/linux/mknod.c
 create mode 100644 sysdeps/unix/sysv/linux/mknodat.c
 rename sysdeps/unix/sysv/linux/powerpc/bits/{stat.h => struct_stat.h} (82%)
 delete mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/fxstat.c
 delete mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/fxstatat.c
 delete mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/lxstat.c
 delete mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/xstat.c
 create mode 100644 sysdeps/unix/sysv/linux/powerpc/xstatver.h
 rename sysdeps/unix/sysv/linux/s390/bits/{stat.h => struct_stat.h} (80%)
 delete mode 100644 sysdeps/unix/sysv/linux/s390/s390-32/fxstat.c
 delete mode 100644 sysdeps/unix/sysv/linux/s390/s390-32/fxstatat.c
 delete mode 100644 sysdeps/unix/sysv/linux/s390/s390-32/lxstat.c
 delete mode 100644 sysdeps/unix/sysv/linux/s390/s390-32/xstat.c
 create mode 100644 sysdeps/unix/sysv/linux/s390/xstatver.h
 delete mode 100644 sysdeps/unix/sysv/linux/sh/fxstat.c
 delete mode 100644 sysdeps/unix/sysv/linux/sh/fxstatat.c
 delete mode 100644 sysdeps/unix/sysv/linux/sh/lxstat.c
 delete mode 100644 sysdeps/unix/sysv/linux/sh/xstat.c
 rename sysdeps/unix/sysv/linux/sparc/bits/{stat.h => struct_stat.h} (72%)
 delete mode 100644 sysdeps/unix/sysv/linux/sparc/sparc32/fxstat.c
 delete mode 100644 sysdeps/unix/sysv/linux/sparc/sparc32/fxstatat.c
 delete mode 100644 sysdeps/unix/sysv/linux/sparc/sparc32/lxstat.c
 delete mode 100644 sysdeps/unix/sysv/linux/sparc/sparc32/xstat.c
 delete mode 100644 sysdeps/unix/sysv/linux/sparc/sparc64/dl-fxstatat64.c
 delete mode 100644 sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c
 delete mode 100644 sysdeps/unix/sysv/linux/sparc/sparc64/fxstatat.c
 create mode 100644 sysdeps/unix/sysv/linux/sparc/sparc64/kstat_cp.h
 delete mode 100644 sysdeps/unix/sysv/linux/sparc/sparc64/lxstat.c
 delete mode 100644 sysdeps/unix/sysv/linux/sparc/sparc64/xstat.c
 create mode 100644 sysdeps/unix/sysv/linux/sparc/xstatver.h
 create mode 100644 sysdeps/unix/sysv/linux/stat.c
 create mode 100644 sysdeps/unix/sysv/linux/stat64.c
 create mode 100644 sysdeps/unix/sysv/linux/stat_t64_cp.c
 rename sysdeps/unix/sysv/linux/{generic/wordsize-32/fxstatat64.c => stat_t64_cp.h} (51%)
 create mode 100644 sysdeps/unix/sysv/linux/struct_stat_time64.h
 delete mode 100644 sysdeps/unix/sysv/linux/wordsize-64/dl-fxstatat64.c
 delete mode 100644 sysdeps/unix/sysv/linux/wordsize-64/fxstat64.c
 delete mode 100644 sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c
 delete mode 100644 sysdeps/unix/sysv/linux/wordsize-64/fxstatat64.c
 delete mode 100644 sysdeps/unix/sysv/linux/wordsize-64/lxstat64.c
 delete mode 100644 sysdeps/unix/sysv/linux/wordsize-64/xstat64.c
 rename sysdeps/unix/sysv/linux/x86/bits/{stat.h => struct_stat.h} (73%)
 create mode 100644 sysdeps/unix/sysv/linux/x86/xstatver.h
 create mode 100644 sysdeps/unix/sysv/linux/xstatover.h
 create mode 100644 sysdeps/unix/sysv/linux/xstatver.h

-- 
2.25.1


             reply	other threads:[~2020-07-23 19:46 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-23 19:46 Adhemerval Zanella via Libc-alpha [this message]
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
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=20200723194641.1949404-1-adhemerval.zanella@linaro.org \
    --to=libc-alpha@sourceware.org \
    --cc=adhemerval.zanella@linaro.org \
    --cc=alistair.francis@wdc.com \
    /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).