From 743f1874ad67aa2f1b734be1ee752f5935da5eb2 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Sat, 5 Apr 2003 19:57:35 +0000 Subject: * sysdeps/unix/sysv/linux/mips/mips64/n32/ftruncate64.c: New. * sysdeps/unix/sysv/linux/mips/mips64/n32/truncate64.c: New. * sysdeps/unix/sysv/linux/kernel-features.h: fcntl64 is available on mips n32. * sysdeps/unix/sysv/linux/mips/kernel_stat.h: Explain why XSTAT_IS_XSTAT64 must not be used for mips n64. Use 64-bit data structure on n32 as well. * sysdeps/unix/sysv/linux/mips/bits/stat.h: Use POSIX-compliant data types on n32 and n64. 2003-04-05 Alexandre Oliva * sysdeps/unix/sysv/linux/mips/mips64/n32/ftruncate64.c: New. * sysdeps/unix/sysv/linux/mips/mips64/n32/truncate64.c: New. * sysdeps/unix/sysv/linux/kernel-features.h: fcntl64 is available on mips n32. * sysdeps/unix/sysv/linux/mips/kernel_stat.h: Explain why XSTAT_IS_XSTAT64 must not be used for mips n64. Use 64-bit data structure on n32 as well. * sysdeps/unix/sysv/linux/mips/bits/stat.h: Use POSIX-compliant data types on n32 and n64. --- sysdeps/unix/sysv/linux/mips/kernel_stat.h | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'sysdeps/unix/sysv/linux/mips/kernel_stat.h') diff --git a/sysdeps/unix/sysv/linux/mips/kernel_stat.h b/sysdeps/unix/sysv/linux/mips/kernel_stat.h index b5fcd008b0..3f1bce57c5 100644 --- a/sysdeps/unix/sysv/linux/mips/kernel_stat.h +++ b/sysdeps/unix/sysv/linux/mips/kernel_stat.h @@ -1,17 +1,20 @@ -/* Definition of `struct stat' used in the kernel.. */ -#if defined _ABI64 && _MIPS_SIM == _ABI64 +/* As tempting as it is to define XSTAT_IS_XSTAT64 for n64, the + userland data structures are not identical, because of different + padding. */ +/* Definition of `struct stat' used in the kernel. */ +#if _MIPS_SIM != _MIPS_SIM_ABI32 struct kernel_stat { unsigned int st_dev; unsigned int __pad1[3]; - unsigned long st_ino; + unsigned long long st_ino; unsigned int st_mode; unsigned int st_nlink; int st_uid; int st_gid; unsigned int st_rdev; unsigned int __pad2[3]; - long st_size; + long long st_size; unsigned int st_atime; unsigned int __unused1; unsigned int st_mtime; @@ -20,7 +23,7 @@ struct kernel_stat unsigned int __unused3; unsigned int st_blksize; unsigned int __pad3; - unsigned long st_blocks; + unsigned long long st_blocks; }; #else struct kernel_stat -- cgit v1.2.3-70-g09d2