strace/linux
Dmitry V. Levin a7c4ee41ff Mpersify parsers of struct stat and struct stat64
On many architectures that support multiple personalities,
struct stat differ between personalities.  While old code could handle
these differences, there are some architectures, e.g. sparc64, that also
have different struct stat64.  Rewrite parsers using mpers functionality
to fix these issues.

* fetch_struct_stat.c: New file.
* fetch_struct_stat64.c: Likewise.
* print_struct_stat.c: Likewise.
* oldstat.c: Likewise.
* stat.c: Likewise.
* stat.h: Likewise.
* stat64.c: Likewise.
* file.c: Remove.
* printstat.h: Likewise.
* linux/aarch64/stat32.h: Likewise.
* linux/powerpc64/stat32.h: Likewise.
* linux/riscv/stat32.h: Likewise.
* linux/sparc64/stat32.h: Likewise.
* linux/tile/stat32.h: Likewise.
* linux/x32/stat32.h: Likewise.
* linux/x86_64/stat32.h: Likewise.
* Makefile.am (strace_SOURCES): Add fetch_struct_stat.c,
fetch_struct_stat64.c, print_struct_stat.c, oldstat.c, stat.c, stat.h,
and stat64.c.  Remove file.c, printstat.h, linux/aarch64/stat32.h,
linux/powerpc64/stat32.h, linux/riscv/stat32.h, linux/sparc64/stat32.h,
linux/tile/stat32.h, linux/x32/stat32.h, and linux/x86_64/stat32.h.
* configure.ac (AC_CHECK_MEMBERS): Add struct stat64.st_mtime_nsec.
* defs.h (struct strace_stat): New declaration.
(print_struct_stat): New prototype.
* linux/dummy.h (sys_fstatat64): Remove.
2016-08-24 15:32:10 +00:00
..
32 Introduce a separate SEN entry for fstatat64 syscall 2016-08-23 15:06:34 +00:00
64 Update generic ioctl entries from linux 4.7 2016-07-12 16:22:23 +00:00
aarch64 Mpersify parsers of struct stat and struct stat64 2016-08-24 15:32:10 +00:00
alpha Introduce a separate SEN entry for fstatat64 syscall 2016-08-23 15:06:34 +00:00
arc Remove initialization of big holes in syscallent.h files 2016-04-29 21:51:00 +00:00
arm Introduce a separate SEN entry for fstatat64 syscall 2016-08-23 15:06:34 +00:00
avr32 Introduce a separate SEN entry for fstatat64 syscall 2016-08-23 15:06:34 +00:00
bfin Introduce a separate SEN entry for fstatat64 syscall 2016-08-23 15:06:34 +00:00
crisv10 Cleanup print_pc 2015-11-30 03:30:51 +00:00
crisv32 Cleanup print_pc 2015-11-30 03:30:51 +00:00
hppa Introduce a separate SEN entry for fstatat64 syscall 2016-08-23 15:06:34 +00:00
i386 Introduce a separate SEN entry for fstatat64 syscall 2016-08-23 15:06:34 +00:00
ia64 Implement decoding of preadv2 and pwritev2 syscalls 2016-05-11 00:58:06 +00:00
m68k Introduce a separate SEN entry for fstatat64 syscall 2016-08-23 15:06:34 +00:00
metag Remove initialization of big holes in syscallent.h files 2016-04-29 21:51:00 +00:00
microblaze Introduce a separate SEN entry for fstatat64 syscall 2016-08-23 15:06:34 +00:00
mips Introduce a separate SEN entry for fstatat64 syscall 2016-08-23 15:06:34 +00:00
nios2 Remove initialization of big holes in syscallent.h files 2016-04-29 21:51:00 +00:00
or1k Remove initialization of big holes in syscallent.h files 2016-04-29 21:51:00 +00:00
powerpc Introduce a separate SEN entry for fstatat64 syscall 2016-08-23 15:06:34 +00:00
powerpc64 Mpersify parsers of struct stat and struct stat64 2016-08-24 15:32:10 +00:00
riscv Mpersify parsers of struct stat and struct stat64 2016-08-24 15:32:10 +00:00
s390 Introduce a separate SEN entry for fstatat64 syscall 2016-08-23 15:06:34 +00:00
s390x s390x, x32: remove redundant definitions of ARCH_PC_REG 2016-08-14 00:02:55 +00:00
sh Introduce a separate SEN entry for fstatat64 syscall 2016-08-23 15:06:34 +00:00
sh64 Introduce a separate SEN entry for fstatat64 syscall 2016-08-23 15:06:34 +00:00
sparc Introduce a separate SEN entry for fstatat64 syscall 2016-08-23 15:06:34 +00:00
sparc64 Mpersify parsers of struct stat and struct stat64 2016-08-24 15:32:10 +00:00
tile Mpersify parsers of struct stat and struct stat64 2016-08-24 15:32:10 +00:00
x32 Mpersify parsers of struct stat and struct stat64 2016-08-24 15:32:10 +00:00
x86_64 Mpersify parsers of struct stat and struct stat64 2016-08-24 15:32:10 +00:00
xtensa Introduce a separate SEN entry for fstatat64 syscall 2016-08-23 15:06:34 +00:00
arch_regs.h Move regs-related macros and declarations from defs.h to regs.h 2015-02-13 18:28:08 +00:00
arch_sigreturn.c Fix build on architectures for which arch_sigreturn is not implemented 2015-12-09 11:46:43 +00:00
asm_stat.h Move redefinition of stat types to asm_stat.h 2016-08-24 12:10:55 +00:00
dummy.h Mpersify parsers of struct stat and struct stat64 2016-08-24 15:32:10 +00:00
errnoent.h Change errnoent.h files to use designated initializers 2015-02-23 13:29:17 +00:00
inet_diag.h linux: add #include guards 2016-08-05 15:06:43 +00:00
mtd-abi.h Whitespace fix, no code changes 2013-02-14 13:39:53 +01:00
netlink_diag.h linux: add #include guards 2016-08-05 15:06:43 +00:00
personality.h Use prepared editions of recently imported linux headers 2014-02-05 12:56:26 +00:00
ptp_clock.h Decode ptp ioctls 2014-02-04 00:03:08 +00:00
signalent.h Regenerated 2001-08-03 21:51:48 +00:00
sock_diag.h linux: add #include guards 2016-08-05 15:06:43 +00:00
subcall.h linux/subcall.h: remove redundant definitions 2016-08-08 23:43:50 +00:00
syscall.h linux: add #include guards 2016-08-05 15:06:43 +00:00
ubi-user.h Use macros for gcc attributes 2015-03-30 00:33:06 +00:00
unix_diag.h linux: add #include guards 2016-08-05 15:06:43 +00:00
userent0.h process.c: split struct_user_offsets into architecture-specific include files 2014-12-11 19:25:02 +00:00
userent.h process.c: split struct_user_offsets into architecture-specific include files 2014-12-11 19:25:02 +00:00