bug-hurd
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]