> -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On > Behalf Of Will Wagner > Sent: den 12 juni 2008 20:36 > To: [email protected] > Subject: sysconf(_SC_MONOTONIC_CLOCK) problem > > Hello, > > I am using uclicb 0.9.29 on Arm built with buildroot > > I want to use monotonic clock support and to test that that > functionality exists I try the following bit of code: > > long x = sysconf(_SC_MONOTONIC_CLOCK); > bool hasMonotonic = x >= 200112L; > > However when I run this sysconf return -1. > > Looking at the code it appears this happens if __NR_clock_getres is not > defined. However looking at the kernel headers I think it is defined > as: > > #define __NR_clock_getres (__NR_SYSCALL_BASE+264) > > in unistd.h > > If I run this code: > > if (syscall(__NR_clock_getres, CLOCK_MONOTONIC, NULL) < 0) > { > printf("syscall failed %d", errno); > return 0; > } > > if (clock_getres(CLOCK_MONOTONIC, NULL) < 0) > { > printf("clock_getres failed %d", errno); > return 0; > } > > Then both calls succeed so the kernel supports this. > > From this I assume that uclibc is compiled as if __NR_clock_getres is > not defined. Does that sound right? > > I have looked for configuration options and can not find any for this. > How can I enable this? > > > Thanks, > > Will.
The problem is that someone added the check for __NR_clock_getres after I added the support for _SC_MONOTONIC_CLOCK. Unfortunately they forgot to add an inclusion of sys/sycall.h which means __NR_clock_getres will never be defined... I just committed the following patch to the uClibc repository which should correct the situation: Index: libc/unistd/sysconf.c =================================================================== --- libc/unistd/sysconf.c (revision 18424) +++ libc/unistd/sysconf.c (working copy) @@ -27,6 +27,7 @@ #include <stdlib.h> #include <time.h> #include <unistd.h> +#include <sys/syscall.h> #include <sys/sysinfo.h> #include <sys/types.h> #ifdef __UCLIBC_HAS_REGEX__ //Peter _______________________________________________ uClibc mailing list [email protected] http://busybox.net/cgi-bin/mailman/listinfo/uclibc
