summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libbb/time.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/libbb/time.c b/libbb/time.c
index cab0ad6..b6fcae2 100644
--- a/libbb/time.c
+++ b/libbb/time.c
@@ -257,7 +257,14 @@ char* FAST_FUNC strftime_YYYYMMDDHHMMSS(char *buf, unsigned len, time_t *tp)
* typically requiring -lrt. We just skip all this mess */
static void get_mono(struct timespec *ts)
{
+#if defined(__NR_clock_gettime)
if (syscall(__NR_clock_gettime, CLOCK_MONOTONIC, ts))
+#elif __TIMESIZE == 64
+ if (syscall(__NR_clock_gettime64, CLOCK_MONOTONIC, ts))
+#else
+# error "We currently don't support architectures without " \
+ "the __NR_clock_gettime syscall and 32-bit time_t"
+#endif
bb_simple_error_msg_and_die("clock_gettime(MONOTONIC) failed");
}
unsigned long long FAST_FUNC monotonic_ns(void)