Yo Eric! On Sat, 25 Mar 2017 19:26:40 -0400 "Eric S. Raymond" <e...@thyrsus.com> wrote:
> This is not what is actually happening out there. Modern Unixes on > 64-bit machines have already moved to 64-bit timespec members long > since. To confirm what Eric said. On current Linux, timespec is defined as: struct timespec { __time_t tv_sec; /* Seconds. */ __syscall_slong_t tv_nsec; /* Nanoseconds. */ }; slong is below. time_t is defined as __time_t: /usr/include/time.h:typedef __time_t time_t; __time_t is defined as __TIME_T_TYPE: /usr/include/bits/types.h:__STD_TYPE __TIME_T_TYPE __time_t; /* Seconds since the Epoch. */ __TIME_T_TYPE is a __SYSCALL_SLONG_TYPE: /usr/include/bits/typesizes.h:#define __TIME_T_TYPE __SYSCALL_SLONG_TYPE For X86_64 and X32 the __SYSCALL_SLONG_TYPE: # define __SYSCALL_SLONG_TYPE __SQUAD_TYPE But for some 32 Linux it is still: # define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE I'll spare you the rest of the nested macros: SQUAD is a long long int (64 bits or more), and SLONGWORD is a long int (32 bits or more). So the problem is all those pesky 32 bit OS still out there. But as you see above, Linux X32 has already moved to 64 bit ints at the syscall interface. I expect other actively maintened 32 bit OS to do so as well. RGDS GARY --------------------------------------------------------------------------- Gary E. Miller Rellim 109 NW Wilmington Ave., Suite E, Bend, OR 97703 g...@rellim.com Tel:+1 541 382 8588 Veritas liberabit vos. -- Quid est veritas? "If you can’t measure it, you can’t improve it." - Lord Kelvin
pgpQVNmEzGD3_.pgp
Description: OpenPGP digital signature
_______________________________________________ devel mailing list devel@ntpsec.org http://lists.ntpsec.org/mailman/listinfo/devel