Le 11/08/2020 à 09:09, Shu-Chun Weng a écrit : > Also reorder blocks so that they are all in the same order everywhere. > > Signed-off-by: Shu-Chun Weng <s...@google.com> > --- > v1 -> v2: > Updated print_fcntl(). > > linux-user/strace.c | 55 ++++++++++++++++++++++++++++++++------- > linux-user/syscall.c | 10 +++++++ > linux-user/syscall_defs.h | 14 +++++----- > 3 files changed, 64 insertions(+), 15 deletions(-) > > diff --git a/linux-user/strace.c b/linux-user/strace.c > index 13981341b3..4fff24b880 100644 > --- a/linux-user/strace.c > +++ b/linux-user/strace.c > @@ -1684,6 +1684,18 @@ print_fcntl(const struct syscallname *name, > qemu_log("F_SETFL,"); > print_open_flags(arg2, 1); > break; > + case TARGET_F_OFD_GETLK: > + qemu_log("F_OFD_GETLK,"); > + print_pointer(arg2, 1); > + break; > + case TARGET_F_OFD_SETLK: > + qemu_log("F_OFD_SETLK,"); > + print_pointer(arg2, 1); > + break; > + case TARGET_F_OFD_SETLKW: > + qemu_log("F_OFD_SETLKW,"); > + print_pointer(arg2, 1); > + break; > case TARGET_F_GETLK: > qemu_log("F_GETLK,"); > print_pointer(arg2, 1); > @@ -1726,26 +1738,51 @@ print_fcntl(const struct syscallname *name, > #endif > case TARGET_F_SETLEASE: > qemu_log("F_SETLEASE,"); > - print_raw_param(TARGET_ABI_FMT_ld, arg2, 0); > + print_raw_param(TARGET_ABI_FMT_ld, arg2, 1); > break; > case TARGET_F_GETLEASE: > qemu_log("F_GETLEASE"); > break; > - case TARGET_F_SETPIPE_SZ: > - qemu_log("F_SETPIPE_SZ,"); > - print_raw_param(TARGET_ABI_FMT_ld, arg2, 1); > - break; > - case TARGET_F_GETPIPE_SZ: > - qemu_log("F_GETPIPE_SZ"); > - break; > +#ifdef F_DUPFD_CLOEXEC > case TARGET_F_DUPFD_CLOEXEC: > qemu_log("F_DUPFD_CLOEXEC,"); > print_raw_param(TARGET_ABI_FMT_ld, arg2, 1); > break; > +#endif > case TARGET_F_NOTIFY: > qemu_log("F_NOTIFY,"); > - print_raw_param(TARGET_ABI_FMT_ld, arg2, 0); > + print_raw_param(TARGET_ABI_FMT_ld, arg2, 1); > break; > +#ifdef F_GETOWN_EX > + case TARGET_F_GETOWN_EX: > + qemu_log("F_GETOWN_EX,"); > + print_pointer(arg2, 1); > + break; > +#endif > +#ifdef F_SETOWN_EX > + case TARGET_F_SETOWN_EX: > + qemu_log("F_SETOWN_EX,"); > + print_pointer(arg2, 1); > + break; > +#endif > +#ifdef F_SETPIPE_SZ > + case TARGET_F_SETPIPE_SZ: > + qemu_log("F_SETPIPE_SZ,"); > + print_raw_param(TARGET_ABI_FMT_ld, arg2, 1); > + break; > + case TARGET_F_GETPIPE_SZ: > + qemu_log("F_GETPIPE_SZ"); > + break; > +#endif > +#ifdef F_ADD_SEALS > + case TARGET_F_ADD_SEALS: > + qemu_log("F_ADD_SEALS,"); > + print_raw_param("0x"TARGET_ABI_FMT_lx, arg2, 1); > + break; > + case TARGET_F_GET_SEALS: > + qemu_log("F_GET_SEALS"); > + break; > +#endif > default: > print_raw_param(TARGET_ABI_FMT_ld, arg1, 0); > print_pointer(arg2, 1); > diff --git a/linux-user/syscall.c b/linux-user/syscall.c > index 945fc25279..5645862798 100644 > --- a/linux-user/syscall.c > +++ b/linux-user/syscall.c > @@ -6305,6 +6305,14 @@ static int target_to_host_fcntl_cmd(int cmd) > case TARGET_F_GETPIPE_SZ: > ret = F_GETPIPE_SZ; > break; > +#endif > +#ifdef F_ADD_SEALS > + case TARGET_F_ADD_SEALS: > + ret = F_ADD_SEALS; > + break; > + case TARGET_F_GET_SEALS: > + ret = F_GET_SEALS; > + break; > #endif > default: > ret = -TARGET_EINVAL; > @@ -6591,6 +6599,8 @@ static abi_long do_fcntl(int fd, int cmd, abi_ulong arg) > case TARGET_F_GETLEASE: > case TARGET_F_SETPIPE_SZ: > case TARGET_F_GETPIPE_SZ: > + case TARGET_F_ADD_SEALS: > + case TARGET_F_GET_SEALS: > ret = get_errno(safe_fcntl(fd, host_cmd, arg)); > break; > > diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h > index 3c261cff0e..70df1a94fb 100644 > --- a/linux-user/syscall_defs.h > +++ b/linux-user/syscall_defs.h > @@ -2292,12 +2292,14 @@ struct target_statfs64 { > #endif > > #define TARGET_F_LINUX_SPECIFIC_BASE 1024 > -#define TARGET_F_SETLEASE (TARGET_F_LINUX_SPECIFIC_BASE + 0) > -#define TARGET_F_GETLEASE (TARGET_F_LINUX_SPECIFIC_BASE + 1) > -#define TARGET_F_DUPFD_CLOEXEC (TARGET_F_LINUX_SPECIFIC_BASE + 6) > -#define TARGET_F_SETPIPE_SZ (TARGET_F_LINUX_SPECIFIC_BASE + 7) > -#define TARGET_F_GETPIPE_SZ (TARGET_F_LINUX_SPECIFIC_BASE + 8) > -#define TARGET_F_NOTIFY (TARGET_F_LINUX_SPECIFIC_BASE+2) > +#define TARGET_F_SETLEASE (TARGET_F_LINUX_SPECIFIC_BASE + 0) > +#define TARGET_F_GETLEASE (TARGET_F_LINUX_SPECIFIC_BASE + 1) > +#define TARGET_F_DUPFD_CLOEXEC (TARGET_F_LINUX_SPECIFIC_BASE + 6) > +#define TARGET_F_NOTIFY (TARGET_F_LINUX_SPECIFIC_BASE + 2) > +#define TARGET_F_SETPIPE_SZ (TARGET_F_LINUX_SPECIFIC_BASE + 7) > +#define TARGET_F_GETPIPE_SZ (TARGET_F_LINUX_SPECIFIC_BASE + 8) > +#define TARGET_F_ADD_SEALS (TARGET_F_LINUX_SPECIFIC_BASE + 9) > +#define TARGET_F_GET_SEALS (TARGET_F_LINUX_SPECIFIC_BASE + 10) > > #include "target_fcntl.h" > >
Reviewed-by: Laurent Vivier <laur...@vivier.eu>