On Wed, 22 May 2019 13:47:25 +0200
Philippe Mathieu-Daudé <address@hidden> wrote:
On 5/21/19 5:28 PM, Cornelia Huck wrote:
commit a188339ca5a396acc588e5851ed7e19f66b0ebd9
Signed-off-by: Cornelia Huck <address@hidden>
---
[...]
#define __NR_mq_notify 184
__SC_COMP(__NR_mq_notify, sys_mq_notify, compat_sys_mq_notify)
#define __NR_mq_getsetattr 185
@@ -536,8 +567,10 @@ __SC_COMP(__NR_msgsnd, sys_msgsnd, compat_sys_msgsnd)
__SYSCALL(__NR_semget, sys_semget)
#define __NR_semctl 191
__SC_COMP(__NR_semctl, sys_semctl, compat_sys_semctl)
+#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
Eww. It seems only aarch64 sets __ARCH_WANT_TIME32_SYSCALLS, and the
second condition probably catches others but not mipsel.
#define __NR_semtimedop 192
-__SC_COMP(__NR_semtimedop, sys_semtimedop, compat_sys_semtimedop)
+__SC_COMP(__NR_semtimedop, sys_semtimedop, sys_semtimedop_time32)
+#endif
#define __NR_semop 193
__SYSCALL(__NR_semop, sys_semop)
[...]
https://app.shippable.com/github/qemu/qemu/runs/1703/summary/console
It seems this commit introduce a regression on mips32:
CC mipsel-linux-user/linux-user/syscall.o
./linux-user/syscall.c: In function 'safe_semtimedop':
./linux-user/syscall.c:697:25: error: '__NR_semtimedop' undeclared
(first use in this function)
return safe_syscall(__NR_##name, arg1, arg2, arg3, arg4); \
So, we unconditionally deal with this syscall, i.e. we assume it is
always present? (I'm not sure of the logic in linux-user code.)