[PATCH] y2038: Introduce __ASSUME_TIME64_SYSCALLS define
Joseph Myers
joseph@codesourcery.com
Thu May 9 15:58:00 GMT 2019
On Wed, 8 May 2019, Lukasz Majewski wrote:
> For x32 this flag is explicitly undefined as this architecture has
> 64 bit registers but only 32 bit longs and pointers. Moreover, it uses
> syscalls from x86_64.
The first sentence there is not an accurate description of the reason for
undefining this for x32; other ILP32 configurations with 64-bit registers
don't have this peculiarity. "Moreover, it uses syscalls from x86_64."
isn't a good description either; x86_64 has three syscall tables (for
32-bit compat, x32 and the normal LP64 syscall interface).
> + Linux kernel, as of version 5.1, provides following set of syscalls,
> + which accept data based on struct timespec and timeval with 64 bit
> + tv_sec:
Do any of these actually use timeval? I thought the idea was that the new
syscalls for 64-bit time would all use timespec, with it being the
responsibility of libc to handle conversions to and from timeval as needed
(e.g. for gettimeofday with _TIME_BITS=64).
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Libc-alpha
mailing list