$ cat main.c #include <stdio.h> #include <time.h> int main() { struct timespec ts; for (int i = 0; i < 100; ++i) { clock_gettime(CLOCK_MONOTONIC_COARSE, &ts); printf("%d %ld\n", ts.tv_sec, ts.tv_nsec); } return 0; } $ cc -m32 main.c $ ./a.out -1 318747501 -1 318747501 -1 318747501 -1 318747501 -1 318747501 -1 318747501 -1 318747501 -1 318747501 -1 318747501 -1 318747501 -1 318747501 -1 318747501 -1 318747501 -1 318747501 -1 318747501 -1 318747501 -1 318747501 -1 318747501 -1 318747501 .... This happens when building the program as 32bit executable on 64bit FreeBSD and run the executable on 64bit FreeBSD.
*** This bug has been marked as a duplicate of bug 273085 ***