Missing time64 prototypes for !__REDIRECT compilers

Adhemerval Zanella adhemerval.zanella@linaro.org
Mon Jul 5 12:26:56 GMT 2021



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.


More information about the Libc-alpha mailing list