* Joseph Myers: > On Tue, 7 Dec 2021, наб via Libc-alpha wrote: > >> Looking through "timespec" on Aardvark for prior art reveals nothing, >> except for a likely resolution to any proposal of this sort: >> > Although we agree that it would have been better if these functions had >> > been designed this way to begin with, we believe that making the change >> > now will break existing, conforming code with no real benefit. > > Geoff Clare said (austin-group-l, Thu, 29 May 2014 16:20:22 +0100): > > C11 requires tv_nsec to be type long, which means that if we change > it to be a new snseconds_t type in Issue 8, we would have to require > that snseconds_t is defined as long in order not to conflict with C11. > > and Rich Felker (Thu, 29 May 2014 13:08:59 -0400): > > This is just a linux kernel bug which needs to be fixed. They have a > number of other such bugs in x32 too. It's possible to work around it > in userspace on the library side (we do this in musl libc) but it's a > bit costly/painful and glibc does not do so yet. There's an open bug > for it which I filed: > > and I don't see any other responses in that discussion. This came up again during the time64 work. The kernel was eventually changed to ignore the padding, so userspace can use a long int type. x32 wasn't changed for backwards compatibility reasons. Thanks, Florian