Hi Lucas, On Wed, Apr 19, 2023 at 3:47 PM Luca Dariz <l...@orpolo.org> wrote:
> * kern/exception.c: message fields need to be aligned to 8 bytes for a > 64-bit userspace, so add the required padding if needed, as done by > MIG. > --- > kern/exception.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/kern/exception.c b/kern/exception.c > index 10435b5c..757f793e 100644 > --- a/kern/exception.c > +++ b/kern/exception.c > @@ -274,8 +274,14 @@ struct mach_exception { > mach_port_t task; > mach_msg_type_t exceptionType; > integer_t exception; > +#if defined(__x86_64__) && ! defined(USER32) > + char exceptionPad[4]; > +#endif > mach_msg_type_t codeType; > integer_t code; > +#if defined(__x86_64__) && ! defined(USER32) > + char codePad[4]; > +#endif > mach_msg_type_t subcodeType; > rpc_long_integer_t subcode; > }; > -- > 2.30.2 > > > I believe this shouldn't be necessary due to https://git.savannah.gnu.org/cgit/hurd/gnumach.git/commit/?id=8e5e86fc13732b60d2e4d14152d92db1f1ae73f9 which forces mach_msg_type_t to always be 8 byte aligned. If you check the size before and after your patch, it will be the same.