summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux')
-rw-r--r--libc/sysdeps/linux/common/bits/stat.h7
-rw-r--r--libc/sysdeps/linux/i386/bits/kernel_stat.h27
2 files changed, 27 insertions, 7 deletions
diff --git a/libc/sysdeps/linux/common/bits/stat.h b/libc/sysdeps/linux/common/bits/stat.h
index 2a161bfd9..942accda1 100644
--- a/libc/sysdeps/linux/common/bits/stat.h
+++ b/libc/sysdeps/linux/common/bits/stat.h
@@ -40,13 +40,6 @@
* on the subject, and different kernel revs use different names... */
#include <bits/kernel_stat.h>
-#ifdef __USE_LARGEFILE64
-# ifdef __USE_FILE_OFFSET64
-# define stat stat64
-# endif
-#endif
-
-
/* Tell code we have these members. */
#define _STATBUF_ST_BLKSIZE
#define _STATBUF_ST_RDEV
diff --git a/libc/sysdeps/linux/i386/bits/kernel_stat.h b/libc/sysdeps/linux/i386/bits/kernel_stat.h
index 60901bb6a..9e7598f5e 100644
--- a/libc/sysdeps/linux/i386/bits/kernel_stat.h
+++ b/libc/sysdeps/linux/i386/bits/kernel_stat.h
@@ -4,6 +4,8 @@
/* This file provides whatever this particular arch's kernel thinks
* struct stat should look like... It turns out each arch has a
* different opinion on the subject... */
+
+#ifndef __USE_FILE_OFFSET64
struct stat {
unsigned short st_dev;
unsigned short __pad1;
@@ -26,6 +28,31 @@ struct stat {
unsigned long __unused4;
unsigned long __unused5;
};
+#else
+struct stat {
+ unsigned short st_dev;
+ unsigned char __pad0[10];
+ unsigned long __st_ino;
+ unsigned int st_mode;
+ unsigned int st_nlink;
+ unsigned long st_uid;
+ unsigned long st_gid;
+ unsigned short st_rdev;
+ unsigned char __pad3[10];
+ long long st_size;
+ unsigned long st_blksize;
+ unsigned long st_blocks; /* Number 512-byte blocks allocated. */
+ unsigned long __pad4; /* future possible st_blocks high bits */
+ unsigned long st_atime;
+ unsigned long __pad5;
+ unsigned long st_mtime;
+ unsigned long __pad6;
+ unsigned long st_ctime;
+ unsigned long __pad7; /* will be high 32 bits of ctime someday */
+ unsigned long long st_ino;
+};
+#endif
+
#ifdef __USE_LARGEFILE64
struct stat64 {
unsigned short st_dev;