On Tue, Jan 22, 2019 at 07:37:18PM -0800, Hal Murray via devel wrote: > > We have various cruft associated with threads. Can we add POSIX threads to > our list of requirements? Or is it already included in POSIX.1-2001 and > ISO/IEC 9899:1999 (C99)?
POSIX threads are optional for POSIX.1-2001 per http://pubs.opengroup.org/onlinepubs/009695399/help/codes.html#THR We currently require any POSIX-style library. Either pthread or libthr. > The idea is to remove HAVE_PTHREAD_H and HAVE_PTHREAD from config.h and > remove > most of wafhelpers/check_pthread.py > > wafhelpers/check_pthread.py says: > ctx.check_cc(lib="thr", mandatory=False, > comment="thr library, required by some operating systems.") > Is that (still?) correct? If so, which systems? libthr is a FreeBSD thing. See https://www.freebsd.org/cgi/man.cgi?query=libthr&apropos=0&sektion=0&manpath=FreeBSD+12.0-RELEASE&arch=default&format=html The check was added in April 2016 per db86d9f65b1055f49219dda7fe36e9229cfba532 https://gitlab.com/NTPsec/ntpsec/-/jobs/149004468 shows: Checking for library thr : yes You can examine the artifact at https://gitlab.com/NTPsec/ntpsec/-/jobs/149004468/artifacts/browse/build/main/ntpd/ to see if the binary has libthr.so as a runtime dependency. I haven't tested if it's possible to have a FreeBSD build with libthr, but without pthreads. Or the other way around. Our FreeBSD CI images are using the stock install. The C code has no #ifdefs for HAVE_PTHREAD or HAVE_PTHREAD_H, so we're only talking about cleaning up some waf python code, correct? > There is probably cruft in this area that I added to try to avoid libpthread > for the no-DNS case. That doesn't work now since libcrypto needs > pthread_once > and is less likely to work as we get NTS-KE working. > > ---------- > > We have various ifdefs for STA_NANO. We depend on clock_gettime which uses > timespec so all the systems we run on know about nanoseconds. Can we upgrade > our requirement for ntp_adjtime to be requires ntp_adjtime with STA_NANO? We added the STA_NANO checks to support systems that have some STA_ symbols, but not all. See https://lists.ntpsec.org/pipermail/vc/2017-December/003604.html We'd have to survey the platforms that we care about to see if they have these symbols now. https://docs.ntpsec.org/latest/#platforms doesn't give many specifics on what platforms we support. https://www.ntpsec.org/supported-platforms.html mentions specific (older) versions of distros and architectures. Maybe we want to replace that with "we support the current (and current - 1) versions of the following platforms/distros as long as they're supported by upstream"? Or replace this section with a link to docs.ntpsec.org and the CI system? Cheers, -Matt _______________________________________________ devel mailing list [email protected] http://lists.ntpsec.org/mailman/listinfo/devel
