Merge "Fix struct stat for aarch64."

This commit is contained in:
Elliott Hughes 2013-12-20 01:45:32 +00:00 committed by Gerrit Code Review
commit a19a41b6b5

View File

@ -37,94 +37,93 @@
__BEGIN_DECLS __BEGIN_DECLS
/* really matches stat64 in the kernel, hence the padding #if defined(__aarch64__)
* Note: The kernel zero's the padded region because glibc might read them
* in the hope that the kernel has stretched to using larger sizes.
*/
#ifdef __mips__
struct stat { struct stat {
unsigned long st_dev; unsigned long st_dev;
unsigned long __pad0[3]; unsigned long st_ino;
unsigned int st_mode;
unsigned long long st_ino; unsigned int st_nlink;
unsigned int st_uid;
unsigned int st_mode; unsigned int st_gid;
unsigned int st_nlink; unsigned long st_rdev;
unsigned long __pad1;
unsigned long st_uid; long st_size;
unsigned long st_gid; int st_blksize;
int __pad2;
unsigned long st_rdev; long st_blocks;
unsigned long __pad1[3]; long st_atime;
unsigned long st_atime_nsec;
long long st_size; long st_mtime;
unsigned long st_mtime_nsec;
unsigned long st_atime; long st_ctime;
unsigned long st_atime_nsec; unsigned long st_ctime_nsec;
unsigned int __unused4;
unsigned long st_mtime; unsigned int __unused5;
unsigned long st_mtime_nsec;
unsigned long st_ctime;
unsigned long st_ctime_nsec;
unsigned long st_blksize;
unsigned long __pad2;
unsigned long long st_blocks;
}; };
#elif defined(__mips__)
#elif __x86_64__
struct stat { struct stat {
unsigned long st_dev; unsigned long st_dev;
unsigned long st_ino; unsigned long __pad0[3];
unsigned long st_nlink; unsigned long long st_ino;
unsigned int st_mode; unsigned int st_mode;
unsigned int st_uid; unsigned int st_nlink;
unsigned int st_gid; unsigned long st_uid;
unsigned int __pad0; unsigned long st_gid;
unsigned long st_rdev; unsigned long st_rdev;
long st_size; unsigned long __pad1[3];
long st_blksize; long long st_size;
long st_blocks; unsigned long st_atime;
unsigned long st_atime; unsigned long st_atime_nsec;
unsigned long st_atime_nsec; unsigned long st_mtime;
unsigned long st_mtime; unsigned long st_mtime_nsec;
unsigned long st_mtime_nsec; unsigned long st_ctime;
unsigned long st_ctime; unsigned long st_ctime_nsec;
unsigned long st_ctime_nsec; unsigned long st_blksize;
long __pad3[3]; unsigned long __pad2;
unsigned long long st_blocks;
};
#elif defined(__x86_64__)
struct stat {
unsigned long st_dev;
unsigned long st_ino;
unsigned long st_nlink;
unsigned int st_mode;
unsigned int st_uid;
unsigned int st_gid;
unsigned int __pad0;
unsigned long st_rdev;
long st_size;
long st_blksize;
long st_blocks;
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;
long __pad3[3];
}; };
#else #else
struct stat { struct stat {
unsigned long long st_dev; unsigned long long st_dev;
unsigned char __pad0[4]; unsigned char __pad0[4];
unsigned long __st_ino;
unsigned long __st_ino; unsigned int st_mode;
unsigned int st_mode; unsigned int st_nlink;
unsigned int st_nlink; unsigned long st_uid;
unsigned long st_gid;
unsigned long st_uid; unsigned long long st_rdev;
unsigned long st_gid; unsigned char __pad3[4];
long long st_size;
unsigned long long st_rdev; unsigned long st_blksize;
unsigned char __pad3[4]; unsigned long long st_blocks;
unsigned long st_atime;
long long st_size; unsigned long st_atime_nsec;
unsigned long st_blksize; unsigned long st_mtime;
unsigned long long st_blocks; unsigned long st_mtime_nsec;
unsigned long st_ctime;
unsigned long st_atime; unsigned long st_ctime_nsec;
unsigned long st_atime_nsec; unsigned long long st_ino;
unsigned long st_mtime;
unsigned long st_mtime_nsec;
unsigned long st_ctime;
unsigned long st_ctime_nsec;
unsigned long long st_ino;
}; };
#endif #endif