[git commit master 1/1] date: make %N work without -lrt on glibc
Denys Vlasenko
vda.linux at googlemail.com
Fri Jun 18 00:55:48 UTC 2010
commit: http://git.busybox.net/busybox/commit/?id=4ebdae3777b8c9175d5d07090989f7e498befc42
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
coreutils/date.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/coreutils/date.c b/coreutils/date.c
index 8f9aff8..c737f09 100644
--- a/coreutils/date.c
+++ b/coreutils/date.c
@@ -93,6 +93,9 @@
//config: MMDDhhmm[[YY]YY][.ss] format.
#include "libbb.h"
+#if ENABLE_FEATURE_DATE_NANO
+# include <sys/syscall.h>
+#endif
enum {
OPT_RFC2822 = (1 << 0), /* R */
@@ -208,7 +211,9 @@ int date_main(int argc UNUSED_PARAM, char **argv)
#endif
} else {
#if ENABLE_FEATURE_DATE_NANO
- clock_gettime(CLOCK_REALTIME, &ts);
+ /* libc has incredibly messy way of doing this,
+ * typically requiring -lrt. We just skip all this mess */
+ syscall(__NR_clock_gettime, CLOCK_REALTIME, &ts);
#else
time(&ts.tv_sec);
#endif
--
1.7.1
More information about the busybox-cvs
mailing list