On 7/22/26 10:32, Cédric Le Goater wrote:
Building linux-user on a host with Linux 7.2 kernel headers fails with
a macro redefinition error for FUTEX_CMD_MASK. The kernel commit
3ca9595d9fb6 ("futex: Add support for unlocking robust futexes")
expanded the mask to include the new FUTEX_ROBUST_UNLOCK and
FUTEX_ROBUST_LIST32 flags, which conflicts with QEMU's local
definition.
Since the host FUTEX_CMD_MASK is always available, remove the local
copy.
Signed-off-by: Cédric Le Goater <[email protected]>
---
linux-user/syscall_defs.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index
5799769f832fd953fe731a33ad7746113dff9957..c17013beac6f6b6407290c318310b7bb820c590b
100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -2593,7 +2593,6 @@ struct target_drm_i915_getparam {
#define FUTEX_PRIVATE_FLAG 128
#define FUTEX_CLOCK_REALTIME 256
-#define FUTEX_CMD_MASK ~(FUTEX_PRIVATE_FLAG | FUTEX_CLOCK_REALTIME)
To build with older kernel, I think we need to have:
#ifndef FUTEX_CMD_MASK
#define FUTEX_CMD_MASK ~(FUTEX_PRIVATE_FLAG | FUTEX_CLOCK_REALTIME)
#endif
Thanks,
Laurent
#if defined(TARGET_X86_64)
#define TARGET_EPOLL_PACKED QEMU_PACKED