Re: [PATCH 2/2 gnumach] mach_types: Use old style struct[n] of int64_t for 64b members
Samuel Thibault <[email protected]> Tue, 30 Jun 2026 13:29:23 +0200
| Newsgroups | gmane.os.hurd.bugs |
|---|---|
| Organization | I am not organized |
| Message-ID | <akOokwuPkuo9n5Rh@end> |
Damien Zammit, le mar. 30 juin 2026 02:32:28 +0000, a ecrit:
> This fixes host_get_time64 rpc on USER32 because new-style structs
> are not typed correctly on 32 bit mig when struct members contain 64 bit
> types.
Err, but this will break the pure 32b userland, won't it? Currently it
does pass time_value64_t as 4 int32.
Samuel
> ---
> include/mach/mach_types.defs | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/include/mach/mach_types.defs b/include/mach/mach_types.defs
> index ecbce0dc..5718cce9 100644
> --- a/include/mach/mach_types.defs
> +++ b/include/mach/mach_types.defs
> @@ -271,10 +271,7 @@ type time_value_t = rpc_time_value_t
> #endif
> ;
>
> -type time_value64_t = struct {
> - int64_t seconds;
> - int64_t nanoseconds;
> -};
> +type time_value64_t = struct[2] of int64_t;
>
> type emulation_vector_t = ^array[] of vm_offset_t;
>
> --
> 2.51.0