From: Timothy Baldwin <t.e.baldwi...@members.leeds.ac.uk> Map signal numbers in fcntl F_SETSIG and F_GETSIG.
Signed-off-by: Timothy E Baldwin <t.e.baldwi...@members.leeds.ac.uk> Reviewed-by: Laurent Vivier <laur...@vivier.eu> Message-Id: <72cc725c-f344-b7f1-d559-401867067...@members.leeds.ac.uk> Signed-off-by: Laurent Vivier <laur...@vivier.eu> --- linux-user/syscall.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 07220eee40c5..55ac5c320825 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -6874,10 +6874,16 @@ static abi_long do_fcntl(int fd, int cmd, abi_ulong arg) break; #endif - case TARGET_F_SETOWN: - case TARGET_F_GETOWN: case TARGET_F_SETSIG: + ret = get_errno(safe_fcntl(fd, host_cmd, target_to_host_signal(arg))); + break; + case TARGET_F_GETSIG: + ret = host_to_target_signal(get_errno(safe_fcntl(fd, host_cmd, arg))); + break; + + case TARGET_F_SETOWN: + case TARGET_F_GETOWN: case TARGET_F_SETLEASE: case TARGET_F_GETLEASE: case TARGET_F_SETPIPE_SZ: -- 2.26.2