From eae22432723b877354291aca4dbbfde5891dad59 Mon Sep 17 00:00:00 2001 From: Lukasz Majewski Date: Fri, 6 Dec 2019 16:20:33 +0100 Subject: y2038: linux: Provide __timerfd_settime64 implementation This patch replaces auto generated wrapper (as described in sysdeps/unix/sysv/linux/syscalls.list) for timerfd_settime with one which adds extra support for reading and writing from Linux kernel 64 bit time values on machines with __TIMESIZE != 64. There is no functional change for archs already supporting 64 bit time ABI. This patch is conceptually identical to timer_settime conversion already done in sysdeps/unix/sysv/linux/timer_settime.c. Please refer to corresponding commit message for detailed description of introduced functions and the testing procedure. Reviewed-by: Adhemerval Zanella --- Changes for v4: - Update date from 2019 to 2020 Changes for v3: - Add missing libc_hidden_def() Changes for v2: - Remove "Contributed by" from the file header - Remove early check for (fd < 0) in __timerfd_settime64 as the fd correctness check is already done in Linux kernel - Add single descriptive comment line to provide concise explanation of the code --- include/time.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'include') diff --git a/include/time.h b/include/time.h index eb5082b4d7..f23bfea737 100644 --- a/include/time.h +++ b/include/time.h @@ -191,11 +191,16 @@ libc_hidden_proto (__timerfd_gettime64); #if __TIMESIZE == 64 # define __timer_settime64 __timer_settime +# define __timerfd_settime64 __timerfd_settime #else extern int __timer_settime64 (timer_t timerid, int flags, const struct __itimerspec64 *value, struct __itimerspec64 *ovalue); +extern int __timerfd_settime64 (int fd, int flags, + const struct __itimerspec64 *value, + struct __itimerspec64 *ovalue); libc_hidden_proto (__timer_settime64); +libc_hidden_proto (__timerfd_settime64); #endif /* Compute the `struct tm' representation of T, -- cgit 1.4.1