about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--benchtests/bench-timing.h1
-rw-r--r--sysdeps/generic/hp-timing.h11
2 files changed, 10 insertions, 2 deletions
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 <hp-timing.h>
 #include <stdint.h>
 
diff --git a/sysdeps/generic/hp-timing.h b/sysdeps/generic/hp-timing.h
index af9d92f7f7..1960a71c62 100644
--- a/sysdeps/generic/hp-timing.h
+++ b/sysdeps/generic/hp-timing.h
@@ -32,11 +32,20 @@ typedef uint64_t hp_timing_t;
 /* The clock_gettime (CLOCK_MONOTONIC) has unspecified starting time,
    nano-second accuracy, and for some architectues is implemented as
    vDSO symbol.  */
-#define HP_TIMING_NOW(var) \
+#ifdef _ISOMAC
+# define HP_TIMING_NOW(var) \
+({								\
+  struct timespec tv;						\
+  clock_gettime (CLOCK_MONOTONIC, &tv);				\
+  (var) = (tv.tv_nsec + UINT64_C(1000000000) * tv.tv_sec);	\
+})
+#else
+# define HP_TIMING_NOW(var) \
 ({								\
   struct __timespec64 tv;						\
   __clock_gettime64 (CLOCK_MONOTONIC, &tv);			\
   (var) = (tv.tv_nsec + UINT64_C(1000000000) * tv.tv_sec);	\
 })
+#endif
 
 #endif	/* hp-timing.h */