From f805c47d4ec1013cf04509538ee8935e38610e4f Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Sat, 23 May 2020 10:04:20 -0700 Subject: [PATCH] Fix __clock_gettime64 for sysdeps/generic/hp-timing.h MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit commit e9698175b0b60407db1e89bcf29437ab224bca0b Author: Lukasz Majewski Date: Mon Mar 16 08:31:41 2020 +0100 y2038: Replace __clock_gettime with __clock_gettime64 breaks benchtests with sysdeps/generic/hp-timing.h: In file included from ./bench-timing.h:23, from ./bench-skeleton.c:25, from /export/build/gnu/tools-build/glibc-gitlab/build-x86_64-linux/benchtests/bench-rint.c:45: ./bench-skeleton.c: In function ‘main’: ../sysdeps/generic/hp-timing.h:37:23: error: storage size of ‘tv’ isn’t known 37 | struct __timespec64 tv; \ | ^~ We should provide __clock_gettime64 in sysdeps/generic/hp-timing.h if _ISOMAC is defined. Don't define __clock_gettime since it is no longer needed. --- benchtests/bench-timing.h | 1 - sysdeps/generic/hp-timing.h | 10 ++++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/benchtests/bench-timing.h b/benchtests/bench-timing.h index a0d6f82465..d0176fb76e 100644 --- a/benchtests/bench-timing.h +++ b/benchtests/bench-timing.h @@ -18,7 +18,6 @@ #undef attribute_hidden #define attribute_hidden -#define __clock_gettime __clock_gettime64 #include #include diff --git a/sysdeps/generic/hp-timing.h b/sysdeps/generic/hp-timing.h index af9d92f7f7..2efd7a6e54 100644 --- a/sysdeps/generic/hp-timing.h +++ b/sysdeps/generic/hp-timing.h @@ -24,6 +24,16 @@ #include #include +#ifdef _ISOMAC +# include +extern __typeof (clock_gettime) __clock_gettime; +# if __TIMESIZE == 64 +# define __clock_gettime64 __clock_gettime +# else +extern int __clock_gettime64 (clockid_t clock_id, struct __timespec64 *tp); +# endif +#endif + /* It should not be used for ld.so. */ #define HP_TIMING_INLINE (0) -- 2.26.2