@@ -4366,6 +4366,14 @@ static int target_to_host_fcntl_cmd(int cmd)
#endif
case TARGET_F_NOTIFY:
return F_NOTIFY;
+#ifdef F_GETOWN_EX
+ case TARGET_F_GETOWN_EX:
+ return F_GETOWN_EX;
+#endif
+#ifdef F_SETOWN_EX
+ case TARGET_F_SETOWN_EX:
+ return F_SETOWN_EX;
+#endif
default:
return -TARGET_EINVAL;
}
@@ -4487,6 +4495,8 @@ static abi_long do_fcntl(int fd, int cmd, abi_ulong arg)
case TARGET_F_GETSIG:
case TARGET_F_SETLEASE:
case TARGET_F_GETLEASE:
+ case TARGET_F_GETOWN_EX:
+ case TARGET_F_SETOWN_EX:
ret = get_errno(fcntl(fd, host_cmd, arg));
break;
@@ -2134,6 +2134,9 @@ struct target_statfs64 {
#define TARGET_F_SETSIG 10 /* for sockets. */
#define TARGET_F_GETSIG 11 /* for sockets. */
+#define TARGET_F_SETOWN_EX 15
+#define TARGET_F_GETOWN_EX 16
+
#if defined(TARGET_MIPS)
#define TARGET_F_GETLK64 33 /* using 'struct flock64' */
#define TARGET_F_SETLK64 34
F_[GS]ETOWN is replaced by F_[GS]ETOWN_EX inside the glibc fcntl wrapper. Signed-off-by: Andreas Schwab <schwab@suse.de> --- linux-user/syscall.c | 10 ++++++++++ linux-user/syscall_defs.h | 3 +++ 2 files changed, 13 insertions(+)