[v2,2/5] y2038: hurd: Provide __clock_gettime64 function

Message ID 20200326080641.10193-3-lukma@denx.de
State Committed
Commit 1959ed4b9e9f95c991abdf31b24fb8cdf98475e2
Headers
Series y2038: Replace __clock_gettime with __clock_gettime64 |

Commit Message

Lukasz Majewski March 26, 2020, 8:06 a.m. UTC
  For Linux glibc ports the __TIMESIZE == 64 ensures proper aliasing for
__clock_gettime64 (to __clock_gettime).
When __TIMESIZE != 64 (like ARM32, PPC) the glibc expects separate definition
of the __clock_gettime64.

The HURD port only provides __clock_gettime, so this patch adds
__clock_gettime64 as a tiny wrapper on it.
Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 sysdeps/mach/clock_gettime.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
  

Patch

diff --git a/sysdeps/mach/clock_gettime.c b/sysdeps/mach/clock_gettime.c
index ac3547df3c..fbd80536d5 100644
--- a/sysdeps/mach/clock_gettime.c
+++ b/sysdeps/mach/clock_gettime.c
@@ -49,3 +49,17 @@  versioned_symbol (libc, __clock_gettime, clock_gettime, GLIBC_2_17);
 strong_alias (__clock_gettime, __clock_gettime_2);
 compat_symbol (libc, __clock_gettime_2, clock_gettime, GLIBC_2_2);
 #endif
+
+int
+__clock_gettime64 (clockid_t clock_id, struct __timespec64 *ts64)
+{
+  struct timespec ts;
+  int ret;
+
+  ret = __clock_gettime (clock_id, &ts);
+  if (ret == 0)
+    *ts64 = valid_timespec_to_timespec64 (ts);
+
+  return ret;
+}
+libc_hidden_def (__clock_gettime64)