On Thu, Mar 9, 2023 at 10:39 AM Flávio Cruz <flavioc...@gmail.com> wrote: > I suspect you have to rebuild MiG because it needs to get the new definitions > for mach_msg_type_t and mach_msg_type_long_t. Let me know if you still run > into problems.
Ah, so I should do 'make install-data' to put new gnumach headers in place, then rebuild MIG, and then rebuild Mach for real? Makes sense, thank you. Will try & report back if that works. > Yes, that would be nice but I'm not sure if we can avoid this when we are > changing the base data types used to encode the messages. I think we just > need to get the gnumach ABI in a more stable place and then it should work > like i686, where it should never break. I mean, maybe we could have MIG just emit 'InP->Head.msgh_size = sizeof(struct Request)' and 'msgt_number = sizeof(InP->some_member) / 4' or something like that, to offload figuring out layout / sizing / alignment to the C compiler. That would then work no matter what exact sizing/alignment rules the current Mach headers use, without having to recompile or modify MIG itself. But I probably underestimate how much MIG relies on knowing the exact ABI. Sergey