[1/2] y2038: hurd: Provide __clock_gettime64 function
Commit Message
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.
---
sysdeps/mach/clock_gettime.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
Comments
Lukasz Majewski, le jeu. 16 janv. 2020 14:27:27 +0100, a ecrit:
> 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>
Thanks!
> ---
> sysdeps/mach/clock_gettime.c | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> 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)
> --
> 2.20.1
>
@@ -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)