aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/kernel_stat.h
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2021-02-05 16:36:30 +0000
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2021-02-11 07:58:05 -0300
commit36260d5035afd8c3efe55b4fe5161088f34ba644 (patch)
tree49b076d195590b2961f062e04b324758347d024d /sysdeps/unix/sysv/linux/kernel_stat.h
parent4b221ec9eebb53571b6e95dceb9d31c98b073a9f (diff)
downloadglibc-36260d5035afd8c3efe55b4fe5161088f34ba644.tar
glibc-36260d5035afd8c3efe55b4fe5161088f34ba644.tar.gz
glibc-36260d5035afd8c3efe55b4fe5161088f34ba644.tar.bz2
glibc-36260d5035afd8c3efe55b4fe5161088f34ba644.zip
linux: Set default kernel_stat.h to LFS
The XSTAT_IS_XSTAT64 and STAT_IS_KERNEL_STAT flags are now set to 1 and STATFS_IS_STATFS64 is set to __STATFS_MATCHES_STATFS64. This makes the default ABI for newer ports to provide only LFS calls. A copy of non-LFS support is provided to 32-bit ABIS with non-LFS support (arm, csky, i386, m68k, nios2, s390, and sh). Is also allows to remove the 64-bit ports, which already uses the default values. This patch does not change the code generation. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'sysdeps/unix/sysv/linux/kernel_stat.h')
-rw-r--r--sysdeps/unix/sysv/linux/kernel_stat.h58
1 files changed, 20 insertions, 38 deletions
diff --git a/sysdeps/unix/sysv/linux/kernel_stat.h b/sysdeps/unix/sysv/linux/kernel_stat.h
index b1bc1459f0..6c1b175cb4 100644
--- a/sysdeps/unix/sysv/linux/kernel_stat.h
+++ b/sysdeps/unix/sysv/linux/kernel_stat.h
@@ -1,40 +1,22 @@
-/* Definition of `struct stat' used in the kernel.. */
-struct kernel_stat
- {
- unsigned short int st_dev;
- unsigned short int __pad1;
-#define _HAVE___PAD1
- unsigned long int st_ino;
- unsigned short int st_mode;
- unsigned short int st_nlink;
- unsigned short int st_uid;
- unsigned short int st_gid;
- unsigned short int st_rdev;
- unsigned short int __pad2;
-#define _HAVE___PAD2
- unsigned long int st_size;
- unsigned long int st_blksize;
- unsigned long int st_blocks;
- struct timespec st_atim;
- struct timespec st_mtim;
- struct timespec st_ctim;
- unsigned long int __glibc_reserved4;
-#define _HAVE___UNUSED4
- unsigned long int __glibc_reserved5;
-#define _HAVE___UNUSED5
- };
+/* Internal definitions for stat functions.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
-#define _HAVE_STAT___UNUSED4
-#define _HAVE_STAT___UNUSED5
-#define _HAVE_STAT___PAD1
-#define _HAVE_STAT___PAD2
-#define _HAVE_STAT_NSEC
-#define _HAVE_STAT64___PAD1
-#define _HAVE_STAT64___PAD2
-#define _HAVE_STAT64___ST_INO
-#define _HAVE_STAT64_NSEC
+ 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.
-#define STAT_IS_KERNEL_STAT 0
-#define STAT64_IS_KERNEL_STAT64 1
-#define XSTAT_IS_XSTAT64 0
-#define STATFS_IS_STATFS64 0
+ 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/>. */
+
+/* The default Linux ABI assumes only LFS support. */
+#define XSTAT_IS_XSTAT64 1
+#define STATFS_IS_STATFS64 __STATFS_MATCHES_STATFS64
+#define STAT_IS_KERNEL_STAT 1