Message ID | 20200324131821.22048-3-lukma@denx.de |
---|---|
State | New |
Headers | show |
Series | y2038: Replace __clock_gettime with __clock_gettime64 | expand |
On Tue, Mar 24, 2020 at 6:18 AM Lukasz Majewski <lukma@denx.de> wrote: > > 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> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Alistair > --- > 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 >
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)
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(+)