linux: Fix STATFS_IS_STATFS64 definition

aarch64, arc, ia64, mips64, powerpc64, riscv32, riscv64, s390x, sparc64,
and x86_64 defines STATFS_IS_STATFS64 to 0, but all of them alias
statfs to statfs64 and the struct statfs has the same and layout of
struct statfs64.

The correct definition will be used on the [f]statfs[64] consolidation.

This patch does not change code generation since the symbols are
implemented using the auto-generation syscall for all the aforementioned
ABIs.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
This commit is contained in:
Adhemerval Zanella 2021-02-05 14:55:45 +00:00
parent 228f30ab47
commit 4b221ec9ee
8 changed files with 36 additions and 8 deletions

View file

@ -0,0 +1,21 @@
/* Internal definitions for stat functions. Linux/AARch64 version.
Copyright (C) 2021 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library. If not, see
<https://www.gnu.org/licenses/>. */
#define STAT_IS_KERNEL_STAT 1
#define XSTAT_IS_XSTAT64 1
#define STATFS_IS_STATFS64 1

View file

@ -19,4 +19,4 @@
#define STAT_IS_KERNEL_STAT 1
#define STAT64_IS_KERNEL_STAT64 1
#define XSTAT_IS_XSTAT64 1
#define STATFS_IS_STATFS64 0
#define STATFS_IS_STATFS64 1

View file

@ -62,6 +62,10 @@ struct kernel_stat
#define STAT_IS_KERNEL_STAT 0
#define STAT64_IS_KERNEL_STAT64 0
#define XSTAT_IS_XSTAT64 0
#define STATFS_IS_STATFS64 0
#if _MIPS_SIM == _ABI64
# define STATFS_IS_STATFS64 1
#else
# define STATFS_IS_STATFS64 0
#endif
#endif

View file

@ -19,4 +19,4 @@
#define STAT_IS_KERNEL_STAT 1
#define STAT64_IS_KERNEL_STAT64 1
#define XSTAT_IS_XSTAT64 1
#define STATFS_IS_STATFS64 0
#define STATFS_IS_STATFS64 1

View file

@ -20,4 +20,4 @@
#define STAT_IS_KERNEL_STAT 1
#define XSTAT_IS_XSTAT64 1
#define STATFS_IS_STATFS64 0
#define STATFS_IS_STATFS64 1

View file

@ -19,4 +19,4 @@
#define STAT_IS_KERNEL_STAT 1
#define STAT64_IS_KERNEL_STAT64 1
#define XSTAT_IS_XSTAT64 1
#define STATFS_IS_STATFS64 0
#define STATFS_IS_STATFS64 1

View file

@ -50,6 +50,9 @@ struct kernel_stat64
#define STAT_IS_KERNEL_STAT 0
#define STAT64_IS_KERNEL_STAT64 0
#define XSTAT_IS_XSTAT64 1
#define STATFS_IS_STATFS64 0
#ifdef __arch64__
# define STATFS_IS_STATFS64 1
#else
# define STATFS_IS_STATFS64 0
#endif
#endif /* _KERNEL_STAT_H */

View file

@ -19,4 +19,4 @@
#define STAT_IS_KERNEL_STAT 1
#define STAT64_IS_KERNEL_STAT64 1
#define XSTAT_IS_XSTAT64 1
#define STATFS_IS_STATFS64 0
#define STATFS_IS_STATFS64 1