[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH gnumach] Align mach_msg_type_t and mach_msg_type_long_t with
From: |
Sergey Bugaev |
Subject: |
Re: [PATCH gnumach] Align mach_msg_type_t and mach_msg_type_long_t with the same alignment as uintptr_t. |
Date: |
Thu, 9 Mar 2023 12:07:55 +0300 |
On Thu, Mar 9, 2023 at 10:39 AM Flávio Cruz <flaviocruz@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