id = 1770 title = "Wrong unpacked structure for epoll_event on qemu-or1k (openrisc)" state = "closed" created_at = "2023-07-18T12:58:18.844Z" closed_at = "2023-08-03T06:40:23.368Z" labels = ["linux-user", "workflow::Patch available"] url = "https://gitlab.com/qemu-project/qemu/-/issues/1770" host-os = "Slackware GNU/Linux" host-arch = "x86_64" qemu-version = "8.0.50 (git commit hash 4633c1e2c576fbabfe5c8c93f4b842504b69c096)" guest-os = "GNU/Linux OpenRISC user-space" guest-arch = "or1k (OpenRISC)" description = """When using cmake automoc, the process will infinite loop waiting for epoll_events.""" reproduce = """1. Try to compile cmake with qt5 support 2. The build process will freeze when "Automatic MOC" is invoked""" additional = """The problem is that or1k has a "packed" epoll_event structure, so it should be also packed in target_epoll_event structure. Following the (very trivial) patch: ``` --- qemu-20230327/linux-user/syscall_defs.h.orig\t2023-03-27 15:41:42.000000000 +0200 +++ qemu-20230327/linux-user/syscall_defs.h\t2023-06-30 17:29:39.034322213 +0200 @@ -2714,7 +2709,7 @@ #define FUTEX_CMD_MASK ~(FUTEX_PRIVATE_FLAG | FUTEX_CLOCK_REALTIME) #ifdef CONFIG_EPOLL -#if defined(TARGET_X86_64) +#if defined(TARGET_X86_64) || defined(TARGET_OPENRISC) #define TARGET_EPOLL_PACKED QEMU_PACKED #else #define TARGET_EPOLL_PACKED ```"""