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