Signed-off-by: Helge Deller <deller@gmx.de>
---
linux-user/strace.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/linux-user/strace.c b/linux-user/strace.c
index bac47748bc..a90e719681 100644
--- a/linux-user/strace.c
+++ b/linux-user/strace.c
@@ -3713,11 +3713,19 @@ print_futex(CPUArchState *cpu_env, const struct syscallname *name,
abi_long arg0, abi_long arg1, abi_long arg2,
abi_long arg3, abi_long arg4, abi_long arg5)
{
+#ifdef FUTEX_CMD_MASK
+ abi_long op = arg1 & FUTEX_CMD_MASK;
+#else
+ abi_long op = arg1;
+#endif
print_syscall_prologue(name);
print_pointer(arg0, 0);
print_futex_op(arg1, 0);
print_raw_param(",%d", arg2, 0);
- print_pointer(arg3, 0); /* struct timespec */
+ if (op == FUTEX_WAIT || op == FUTEX_WAIT_BITSET)
+ print_timespec(arg3, 0);
+ else
+ print_pointer(arg3, 0); /* struct timespec */
print_pointer(arg4, 0);
print_raw_param("%d", arg4, 1);
print_syscall_epilogue(name);
--
2.37.1