Hi, this seems to break the x86_64 --disable-user32 gnumach build for me:
vm/memory_object_user.user.c: In function ‘memory_object_init’: vm/memory_object_user.user.c:128:9: error: static assertion failed: "Request expected to be 80 bytes" 128 | _Static_assert(sizeof(Request) == 80, "Request expected to be 80 bytes"); | ^~~~~~~~~~~~~~ vm/memory_object_user.user.c: In function ‘memory_object_terminate’: vm/memory_object_user.user.c:197:9: error: static assertion failed: "Request expected to be 64 bytes" 197 | _Static_assert(sizeof(Request) == 64, "Request expected to be 64 bytes"); | ^~~~~~~~~~~~~~ vm/memory_object_user.user.c: In function ‘memory_object_copy’: vm/memory_object_user.user.c:304:9: error: static assertion failed: "Request expected to be 96 bytes" 304 | _Static_assert(sizeof(Request) == 96, "Request expected to be 96 bytes"); | ^~~~~~~~~~~~~~ vm/memory_object_user.user.c: In function ‘memory_object_data_request’: vm/memory_object_user.user.c:412:9: error: static assertion failed: "Request expected to be 96 bytes" 412 | _Static_assert(sizeof(Request) == 96, "Request expected to be 96 bytes"); | ^~~~~~~~~~~~~~ vm/memory_object_user.user.c: In function ‘memory_object_data_unlock’: vm/memory_object_user.user.c:520:9: error: static assertion failed: "Request expected to be 96 bytes" 520 | _Static_assert(sizeof(Request) == 96, "Request expected to be 96 bytes"); | ^~~~~~~~~~~~~~ vm/memory_object_user.user.c: In function ‘memory_object_lock_completed’: vm/memory_object_user.user.c:609:9: error: static assertion failed: "Request expected to be 80 bytes" 609 | _Static_assert(sizeof(Request) == 80, "Request expected to be 80 bytes"); | ^~~~~~~~~~~~~~ vm/memory_object_user.user.c: In function ‘memory_object_supply_completed’: vm/memory_object_user.user.c:737:9: error: static assertion failed: "Request expected to be 112 bytes" 737 | _Static_assert(sizeof(Request) == 112, "Request expected to be 112 bytes"); | ^~~~~~~~~~~~~~ vm/memory_object_user.user.c: In function ‘memory_object_data_return’: vm/memory_object_user.user.c:872:9: error: static assertion failed: "Request expected to be 120 bytes" 872 | _Static_assert(sizeof(Request) == 120, "Request expected to be 120 bytes"); | ^~~~~~~~~~~~~~ vm/memory_object_user.user.c: In function ‘memory_object_change_completed’: vm/memory_object_user.user.c:944:9: error: static assertion failed: "Request expected to be 64 bytes" 944 | _Static_assert(sizeof(Request) == 64, "Request expected to be 64 bytes"); | ^~~~~~~~~~~~~~ Reverting (or rather, rebasing out) this commit helped. Does this perhaps need matching changes in MIG? And a meta question: is GNU MIG only intended to be usable with the latest commit of GNU Mach? It certainly generates typed IPC, so it can't be used with OSF/Apple's Mach. But is it expected to only ever support whatever 64-bit ABI gnumach *currently* has, or should it attempt to do some feature detection / whatever? In particular having MIG generate working code no matter what Mach commit I'm on would be nice :) Sergey