[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 03/11] linux-user/syscall.c: handle FUTEX_WAIT_BITSE
From: |
riku . voipio |
Subject: |
[Qemu-devel] [PATCH 03/11] linux-user/syscall.c: handle FUTEX_WAIT_BITSET in do_futex |
Date: |
Mon, 11 Mar 2013 21:27:40 +0200 |
From: John Rigby <address@hidden>
Upstream libc has recently changed to start using
FUTEX_WAIT_BITSET instead of FUTEX_WAIT and this
is causing do_futex to return -TARGET_ENOSYS.
Pass bitset in val3 to sys_futex which will be
ignored by kernel for the FUTEX_WAIT case.
Signed-off-by: John Rigby <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>
---
linux-user/syscall.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 19630ea..c7fcfc0 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -4922,6 +4922,7 @@ static int do_futex(target_ulong uaddr, int op, int val,
target_ulong timeout,
#endif
switch (base_op) {
case FUTEX_WAIT:
+ case FUTEX_WAIT_BITSET:
if (timeout) {
pts = &ts;
target_to_host_timespec(pts, timeout);
@@ -4929,7 +4930,7 @@ static int do_futex(target_ulong uaddr, int op, int val,
target_ulong timeout,
pts = NULL;
}
return get_errno(sys_futex(g2h(uaddr), op, tswap32(val),
- pts, NULL, 0));
+ pts, NULL, val3));
case FUTEX_WAKE:
return get_errno(sys_futex(g2h(uaddr), op, val, NULL, NULL, 0));
case FUTEX_FD:
--
1.7.10.4
- [Qemu-devel] [PULL] linux-user updates, riku . voipio, 2013/03/11
- [Qemu-devel] [PATCH 05/11] linux-user: Support setgroups syscall with no groups, riku . voipio, 2013/03/11
- [Qemu-devel] [PATCH 02/11] linux-user: improve print_fcntl(), riku . voipio, 2013/03/11
- [Qemu-devel] [PATCH 03/11] linux-user/syscall.c: handle FUTEX_WAIT_BITSET in do_futex,
riku . voipio <=
- [Qemu-devel] [PATCH 04/11] linux-user: fix futex strace of FUTEX_CLOCK_REALTIME, riku . voipio, 2013/03/11
- [Qemu-devel] [PATCH 09/11] linux-user: Implement sendfile and sendfile64, riku . voipio, 2013/03/11
- [Qemu-devel] [PATCH 06/11] linux-user: Add more sparc syscall numbers, riku . voipio, 2013/03/11
- [Qemu-devel] [PATCH 10/11] linux-user: Implement accept4, riku . voipio, 2013/03/11
- [Qemu-devel] [PATCH 01/11] linux-user: Add Alpha socket constants, riku . voipio, 2013/03/11
- [Qemu-devel] [PATCH 07/11] linux-user: Fix layout of usage table to account for option text, riku . voipio, 2013/03/11
- [Qemu-devel] [PATCH 08/11] linux-user: make bogus negative iovec lengths fail EINVAL, riku . voipio, 2013/03/11
- [Qemu-devel] [PATCH 11/11] linux-user/syscall.c: Don't warn about unimplemented get_robust_list, riku . voipio, 2013/03/11
- Re: [Qemu-devel] [PULL] linux-user updates, Peter Maydell, 2013/03/11