Missing time64 prototypes for !__REDIRECT compilers
Florian Weimer
fweimer@redhat.com
Mon Jul 5 12:42:12 GMT 2021
* Adhemerval Zanella:
> On 05/07/2021 09:15, Florian Weimer wrote:
>> * Adhemerval Zanella:
>>
>>> On 05/07/2021 06:48, Florian Weimer wrote:
>>>> This pattern looks incorrect to me:
>>>>
>>>> #ifdef __USE_GNU
>>>> /* Receive up to VLEN messages as described by VMESSAGES from socket FD.
>>>> Returns the number of messages received or -1 for errors.
>>>>
>>>> This function is a cancellation point and therefore not marked with
>>>> __THROW. */
>>>> # ifndef __USE_TIME_BITS64
>>>> extern int recvmmsg (int __fd, struct mmsghdr *__vmessages,
>>>> unsigned int __vlen, int __flags,
>>>> struct timespec *__tmo);
>>>> # else
>>>> # ifdef __REDIRECT
>>>> extern int __REDIRECT (recvmmsg, (int __fd, struct mmsghdr *__vmessages,
>>>> unsigned int __vlen, int __flags,
>>>> struct timespec *__tmo),
>>>> __recvmmsg64);
>>>> # else
>>>> # define recvmmsg __recvmmsg64
>>>> # endif
>>>> # endif
>>>> #endif
>>>>
>>>> For the !__REDIRECT case, a prototype for __recvmmsg64 is still needed.
>>>
>>> There is some fixes for recvmsg and recvmmsg that I am working on,
>>> I will add this as well.
>>
>> I'm working on adding some missing time64 aliases. I've got a
>> SCM_RIGHTS smoke test.
>
> Do you mean for recvmg/recvmmsg? If so do we really need these? I fixed
> an issue on __convert_scm_timestamps that I think it the most likely
> issue that trigger the invalid memory access on ruby testcase.
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.
Thanks,
Florian
More information about the Libc-alpha
mailing list