Benchtests broken on AArch64
Wilco Dijkstra
Wilco.Dijkstra@arm.com
Fri Jun 5 16:05:41 GMT 2020
Hi,
With latest sources after the recent time changes, make bench reports this on AArch64:
In file included from ../sysdeps/generic/hp-timing.h:23,
from bench-timing.h:22,
from bench-timing-type.c:19:
../include/time.h: In function ‘time_now’:
../include/time.h:298:28: error: implicit declaration of function ‘__clock_gettime’; did you mean ‘__clock_settime’? [-Werror=implicit-function-declaration]
298 | # define __clock_gettime64 __clock_gettime
| ^~~~~~~~~~~~~~~
bench-timing.h:21:25: note: in expansion of macro ‘__clock_gettime64’
21 | #define __clock_gettime __clock_gettime64
| ^~~~~~~~~~~~~~~~~
../include/time.h:480:3: note: in expansion of macro ‘__clock_gettime’
480 | __clock_gettime (TIME_CLOCK_GETTIME_CLOCKID, &ts);
| ^~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
After fixing time_now() to use __clock_gettime64, we get:
In file included from ./bench-timing.h:22,
from ./bench-skeleton.c:25,
from /home/wdijkstr/build/glibc_write/benchtests/bench-acos.c:2752:
./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; \
| ^~
./bench-timing.h:31:25: note: in expansion of macro ‘HP_TIMING_NOW’
31 | #define TIMING_NOW(var) HP_TIMING_NOW (var)
| ^~~~~~~~~~~~~
./bench-skeleton.c:82:8: note: in expansion of macro ‘TIMING_NOW’
82 | TIMING_NOW (start);
| ^~~~~~~~~~
../sysdeps/generic/hp-timing.h:38:3: error: implicit declaration of function ‘__clock_gettime64’; did you mean ‘clock_gettime’? [-Werror=implicit-function-declaration]
38 | __clock_gettime64 (CLOCK_MONOTONIC, &tv); \
| ^~~~~~~~~~~~~~~~~
So what is going on here? It seems even the time.h header is now getting confused as to we want gettime or gettime64...
Wilco
More information about the Libc-alpha
mailing list