]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
linux: Fix STATFS_IS_STATFS64 definition
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Fri, 5 Feb 2021 14:55:45 +0000 (14:55 +0000)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Thu, 11 Feb 2021 10:57:57 +0000 (07:57 -0300)
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>
sysdeps/unix/sysv/linux/aarch64/kernel_stat.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/ia64/kernel_stat.h
sysdeps/unix/sysv/linux/mips/kernel_stat.h
sysdeps/unix/sysv/linux/powerpc/powerpc64/kernel_stat.h
sysdeps/unix/sysv/linux/riscv/kernel_stat.h
sysdeps/unix/sysv/linux/s390/s390-64/kernel_stat.h
sysdeps/unix/sysv/linux/sparc/sparc64/kernel_stat.h
sysdeps/unix/sysv/linux/x86_64/kernel_stat.h

diff --git a/sysdeps/unix/sysv/linux/aarch64/kernel_stat.h b/sysdeps/unix/sysv/linux/aarch64/kernel_stat.h
new file mode 100644 (file)
index 0000000..33ad1b6
--- /dev/null
@@ -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
index e1eac6985050301480418459dd2ffbb0beaee15f..ee05a15590aa8d9a3e25ce4c9bb9902fea9e7027 100644 (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
index 21dba2de73c6ddc2dc252815fb8ec0d5a2958a50..e4b0f211ca8581c4ab999f978b517b0c7c10e25e 100644 (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
index a1f66bcecec366456844fb92c8a20d4aae8d2062..bc7390c9ffe025d5dc0d2b4b161f29cc7c5fb042 100644 (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
index ee8b37a9eb39597f6c25aaec4d1643884009606a..4ad7913762f623edfefa4fbc4d1eaf647bd2e3d6 100644 (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
index e1eac6985050301480418459dd2ffbb0beaee15f..ee05a15590aa8d9a3e25ce4c9bb9902fea9e7027 100644 (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
index 0f3d40523995e14c957fda556c6f2aecd8a90166..29d18908da92eed7fc9a5c6c12f058b70a99f8be 100644 (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  */
index e1eac6985050301480418459dd2ffbb0beaee15f..ee05a15590aa8d9a3e25ce4c9bb9902fea9e7027 100644 (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