Mark Kettenis <mark.kette...@xs4all.nl> wrote: > > I changed __amd64 to __amd64__ because I didn't find __powerpc. I'm > > not sure, but one might move the list of arches to dlfcn/Makefile.inc > > and do -DTIMEKEEP, like how thread/Makefile.inc does -DFUTEX. One > > might drop the tc_get_timecount function pointer and just always call > > the function #ifdef TIMEKEEP. > > Yes, we prefer the __xxx__ variants in OpenBSD code; thanks for > catching that. The benefit of the TIMEKEEP define would be that we > can eliminate the fallback code completely on architectures that don't > implement this functionality.
... > > --- lib/libc/dlfcn/init.c.before Sat May 30 23:26:35 2020 > > +++ lib/libc/dlfcn/init.c Sat May 30 18:00:45 2020 > > @@ -70,7 +70,7 @@ > > > > /* provide definitions for these */ > > const dl_cb *_dl_cb __relro = NULL; > > -#if defined(__amd64) > > +#if defined(__amd64__) || defined(__powerpc__) > > uint64_t (*const tc_get_timecount)(void) = tc_get_timecount_md; > > #else > > uint64_t (*const tc_get_timecount)(void) = NULL; 1) I think adding _md to the name is superflous. There will never be a MI version, so tc_get_timecount() is enough. 2) I hope we can get away from #ifdef __ arch__. Maybe this can be split into architectures which a) have a function called tc_get_timecount() or b) tc_get_timecount is #define'd to NULL, though I don't know which MD include file to do that in