summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/arm
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/arm
parent4b221ec9eebb53571b6e95dceb9d31c98b073a9f (diff)
downloadglibc-36260d5035afd8c3efe55b4fe5161088f34ba644.tar.gz
glibc-36260d5035afd8c3efe55b4fe5161088f34ba644.tar.xz
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/arm')
-rw-r--r--sysdeps/unix/sysv/linux/arm/kernel_stat.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/arm/kernel_stat.h b/sysdeps/unix/sysv/linux/arm/kernel_stat.h
new file mode 100644
index 0000000000..b1bc1459f0
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arm/kernel_stat.h
@@ -0,0 +1,40 @@
+/* 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
+  };
+
+#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
+
+#define STAT_IS_KERNEL_STAT 0
+#define STAT64_IS_KERNEL_STAT64 1
+#define XSTAT_IS_XSTAT64 0
+#define STATFS_IS_STATFS64 0