From d2b22f1c5d52de7bd70d2143681baeeb74ad693e Mon Sep 17 00:00:00 2001 From: Manuel Novoa III Date: Sat, 24 Aug 2002 21:38:44 +0000 Subject: Tweak things so that struct stat and struct stat64 (seem to) work on i386. This is for Erik to look at wrt the other archs. --- libc/sysdeps/linux/common/bits/stat.h | 7 ------- libc/sysdeps/linux/i386/bits/kernel_stat.h | 27 +++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 7 deletions(-) (limited to 'libc') 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 -#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; -- cgit v1.2.3