Messages in this thread Patch in this message | | | Date | Wed, 28 Sep 2016 21:06:35 +0800 (CST) | Subject | [PATCHv2 2/4] unicore32-oldabi: add stat.h support for UNICORE32_OLDABI | From | "Xuetao Guan" <> |
| |
Remove generated code in arch/unicore32/include/asm/Kbuild, and restore asm/stat.h for UNICORE32_OLDABI.
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn> Signed-off-by: Qin Rui <qinrui@pku.edu.cn> Tested-by: Guenter Roeck <linux@roeck-us.net> --- arch/unicore32/include/asm/Kbuild | 1 - arch/unicore32/include/uapi/asm/stat-oldabi.h | 71 +++++++++++++++++++++++++++ arch/unicore32/include/uapi/asm/stat.h | 19 +++++++ 3 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 arch/unicore32/include/uapi/asm/stat-oldabi.h create mode 100644 arch/unicore32/include/uapi/asm/stat.h
diff --git a/arch/unicore32/include/asm/Kbuild b/arch/unicore32/include/asm/Kbuild index 256c45b..0ce2a5a 100644 --- a/arch/unicore32/include/asm/Kbuild +++ b/arch/unicore32/include/asm/Kbuild @@ -49,7 +49,6 @@ generic-y += signal.h generic-y += sizes.h generic-y += socket.h generic-y += sockios.h -generic-y += stat.h generic-y += statfs.h generic-y += swab.h generic-y += syscalls.h diff --git a/arch/unicore32/include/uapi/asm/stat-oldabi.h b/arch/unicore32/include/uapi/asm/stat-oldabi.h new file mode 100644 index 0000000..d36ce13 --- /dev/null +++ b/arch/unicore32/include/uapi/asm/stat-oldabi.h @@ -0,0 +1,71 @@ +/* + * Code specific to UniCore32 ISA + * + * Copyright (C) 2014 GUAN Xuetao + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +#ifndef __UNICORE32_ASM_STAT_OLDABI_H__ +#define __UNICORE32_ASM_STAT_OLDABI_H__ + +#define STAT_HAVE_NSEC 1 + +struct stat { + unsigned long st_dev; /* Device. */ + unsigned long st_ino; /* File serial number. */ + unsigned int st_mode; /* File mode. */ + unsigned int st_nlink; /* Link count. */ + unsigned int st_uid; /* User ID of the file's owner. */ + unsigned int st_gid; /* Group ID of the file's group. */ + unsigned long st_rdev; /* Device number, if device. */ + unsigned long __pad1; + long st_size; /* Size of file, in bytes. */ + int st_blksize; /* Optimal block size for I/O. */ + int __pad2; + long st_blocks; /* Number 512-byte blocks allocated. */ + int st_atime; /* Time of last access. */ + unsigned int st_atime_nsec; + int st_mtime; /* Time of last modification. */ + unsigned int st_mtime_nsec; + int st_ctime; /* Time of last status change. */ + unsigned int st_ctime_nsec; + unsigned int __unused4; + unsigned int __unused5; +}; + +/* + * This matches struct stat64 in glibc2.1, hence the absolutely + * insane amounts of padding around dev_t's. + * 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. + */ +#define STAT64_HAS_BROKEN_ST_INO + +struct stat64 { + unsigned long long st_dev; /* Device. */ + unsigned char __pad0[4]; + unsigned long __st_ino; + unsigned int st_mode; /* File mode. */ + unsigned int st_nlink; /* Link count. */ + unsigned int st_uid; /* UID of the file's owner. */ + unsigned int st_gid; /* GID of the file's group. */ + unsigned long long st_rdev; /* Device number, if device. */ + + unsigned char __pad3[4]; + + long long st_size; /* Size of file, in bytes. */ + int st_blksize; /* Optimal block size for I/O. */ + long long st_blocks; /* Number 512-byte blocks allocated. */ + int st_atime; /* Time of last access. */ + unsigned int st_atime_nsec; + int st_mtime; /* Time of last modification. */ + unsigned int st_mtime_nsec; + int st_ctime; /* Time of last status change. */ + unsigned int st_ctime_nsec; + + unsigned long long st_ino; +}; + +#endif /* __UNICORE32_ASM_STAT_OLDABI_H__ */ diff --git a/arch/unicore32/include/uapi/asm/stat.h b/arch/unicore32/include/uapi/asm/stat.h new file mode 100644 index 0000000..2cff377d --- /dev/null +++ b/arch/unicore32/include/uapi/asm/stat.h @@ -0,0 +1,19 @@ +/* + * Code specific to UniCore32 ISA + * + * Copyright (C) 2014 GUAN Xuetao + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +#ifndef __UNICORE32_ASM_STAT_H__ +#define __UNICORE32_ASM_STAT_H__ + +#ifndef CONFIG_UNICORE32_OLDABI +#include <asm-generic/stat.h> +#else +#include <asm/stat-oldabi.h> +#endif /* CONFIG_UNICORE32_OLDABI */ + +#endif /* __UNICORE32_ASM_STAT_H__ */ -- 1.9.1
| |