[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