From 8bf1bb4bf1c7a58f9f9b64f599ed5a8eaeefe3a6 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sun, 26 Jul 2009 15:17:21 -0400 Subject: enable nanosecond stat support for everyone Fill out the stat structure so that the nanosecond resolution support is always available. There is a small code size increase for a few ports (three additional assignments in xstatconv), but otherwise everything should remain the same. While we're here, punt __old_kernel_stat from the few headers that still define it as it is unused in uClibc and causes compile errors after these nanosecond changes. Signed-off-by: Mike Frysinger --- libc/sysdeps/linux/x86_64/bits/kernel_stat.h | 26 +++----------------------- libc/sysdeps/linux/x86_64/bits/stat.h | 4 ++-- 2 files changed, 5 insertions(+), 25 deletions(-) (limited to 'libc/sysdeps/linux/x86_64') diff --git a/libc/sysdeps/linux/x86_64/bits/kernel_stat.h b/libc/sysdeps/linux/x86_64/bits/kernel_stat.h index 7dca5ffbb..2c1deb0d9 100644 --- a/libc/sysdeps/linux/x86_64/bits/kernel_stat.h +++ b/libc/sysdeps/linux/x86_64/bits/kernel_stat.h @@ -8,8 +8,6 @@ #error bits/kernel_stat.h is for internal uClibc use only! #endif -#define STAT_HAVE_NSEC 1 - struct kernel_stat { unsigned long st_dev; unsigned long st_ino; @@ -24,30 +22,12 @@ struct kernel_stat { long st_blksize; long st_blocks; /* Number 512-byte blocks allocated. */ - unsigned long st_atime; - unsigned long st_atime_nsec; - unsigned long st_mtime; - unsigned long st_mtime_nsec; - unsigned long st_ctime; - unsigned long st_ctime_nsec; + struct timespec st_atim; + struct timespec st_mtim; + struct timespec st_ctim; long __unused[3]; }; -/* For 32bit emulation */ -struct __old_kernel_stat { - unsigned short st_dev; - unsigned short st_ino; - unsigned short st_mode; - unsigned short st_nlink; - unsigned short st_uid; - unsigned short st_gid; - unsigned short st_rdev; - unsigned int st_size; - unsigned int st_atime; - unsigned int st_mtime; - unsigned int st_ctime; -}; - /* x86-64 stat64 is same as stat */ #define kernel_stat64 kernel_stat diff --git a/libc/sysdeps/linux/x86_64/bits/stat.h b/libc/sysdeps/linux/x86_64/bits/stat.h index 3a9c7740a..e756d7e8c 100644 --- a/libc/sysdeps/linux/x86_64/bits/stat.h +++ b/libc/sysdeps/linux/x86_64/bits/stat.h @@ -78,7 +78,7 @@ struct stat #else __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ #endif -#if 0 /*def __USE_MISC*/ +#ifdef __USE_MISC /* Nanosecond resolution timestamps are stored in a format equivalent to 'struct timespec'. This is the type used whenever possible but the Unix namespace rules do not allow the @@ -139,7 +139,7 @@ struct stat64 #endif __blksize_t st_blksize; /* Optimal block size for I/O. */ __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */ -#if 0 /*def __USE_MISC*/ +#ifdef __USE_MISC /* Nanosecond resolution timestamps are stored in a format equivalent to 'struct timespec'. This is the type used whenever possible but the Unix namespace rules do not allow the -- cgit v1.2.3