Merge branch 'x86-x32-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x32 uapi changes from Peter Anvin:
 "This is the first few of a set of patches by H.J.  Lu to make the
  kernel uapi headers usable for x32, as required by some non-glibc
  libcs.

  These particular patches make the stat and statfs structures usable"

* 'x86-x32-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86, x32: Use __kernel_long_t for __statfs_word
  x86, x32: Use __kernel_long_t/__kernel_ulong_t in x86-64 stat.h
This commit is contained in:
Linus Torvalds 2014-01-20 15:12:49 -08:00
commit 15c8102620
2 changed files with 21 additions and 19 deletions

View File

@ -1,6 +1,8 @@
#ifndef _ASM_X86_STAT_H
#define _ASM_X86_STAT_H
#include <asm/posix_types.h>
#define STAT_HAVE_NSEC 1
#ifdef __i386__
@ -78,26 +80,26 @@ struct stat64 {
#else /* __i386__ */
struct stat {
unsigned long st_dev;
unsigned long st_ino;
unsigned long st_nlink;
__kernel_ulong_t st_dev;
__kernel_ulong_t st_ino;
__kernel_ulong_t 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; /* Number 512-byte blocks allocated. */
__kernel_ulong_t st_rdev;
__kernel_long_t st_size;
__kernel_long_t st_blksize;
__kernel_long_t 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;
long __unused[3];
__kernel_ulong_t st_atime;
__kernel_ulong_t st_atime_nsec;
__kernel_ulong_t st_mtime;
__kernel_ulong_t st_mtime_nsec;
__kernel_ulong_t st_ctime;
__kernel_ulong_t st_ctime_nsec;
__kernel_long_t __unused[3];
};
/* We don't need to memset the whole thing just to initialize the padding */

View File

@ -13,7 +13,7 @@
*/
#ifndef __statfs_word
#if __BITS_PER_LONG == 64
#define __statfs_word long
#define __statfs_word __kernel_long_t
#else
#define __statfs_word __u32
#endif