Missing time64 prototypes for !__REDIRECT compilers
Adhemerval Zanella
adhemerval.zanella@linaro.org
Mon Jul 5 12:55:58 GMT 2021
On 05/07/2021 09:50, Florian Weimer wrote:
> * Adhemerval Zanella:
>
>>> I have identified the following system calls:
>>>
>>> ioctl, fcntl, prctl, sendmmsg, recvmsg, sendmsg, getsockopt, setsockopt.
>>>
>>> All of them are multiplexers of some kind, and we don't know if the
>>> kernel will add different constants for different time_t sizes for
>>> future features, given that it's more or less 64-bit time_t only these
>>> days.
>>
>> But kernel afaik uses the time_t size to provide such constant, if it
>> adds a new 64-bit time_t only it won't build for _TIME_BITS=32.
>
> Sorry, I don't understand what this means in this context.
>
> I am worried that the kernel will add a new fcntl which expectes a
> 64-bit struct timespec argument. Without the 64-bit state in the glibc
> symbol, glibc would not know whether to rewrite the argument or not for
> 32-bit applications.
My point I expected the kernel to add such new fcntl interface (or for any
other multiplexed interfaces) only for 'sizeof(time_t) == sizeof(__kernel_time64_t)'
which means that programs built with _TIME_SIZE=32 won't see such newer
constants.
More information about the Libc-alpha
mailing list