Using 64bit time on 32bit targets was only introduced in Linux 5.1.0.
On versions prior to that, compiling uClibc-ng produces incorrect headers
that cause the `clock_nanosleep` syscall to receive incorrect arguments.

Signed-off-by: Nadav Tasher <tasherna...@gmail.com>
---
 include/features.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/include/features.h b/include/features.h
index 1a4efb9db..0b09d71a2 100644
--- a/include/features.h
+++ b/include/features.h
@@ -449,6 +449,12 @@
 # include <libc-internal.h>
 #endif
 
+#include <linux/version.h>
+
+#if defined(__UCLIBC_USE_TIME64__) && __TARGET_ARCH_BITS__ == 32 && 
LINUX_VERSION_CODE < KERNEL_VERSION(5,1,0)
+#error 64bit time on 32bit targets is not supported on Linux < 5.1.0
+#endif
+
 #if defined(__UCLIBC_USE_TIME64__) || __TARGET_ARCH_BITS__ == 64
 #define __USE_TIME_BITS64 1
 #endif
-- 
2.34.1

_______________________________________________
devel mailing list -- devel@uclibc-ng.org
To unsubscribe send an email to devel-le...@uclibc-ng.org

Reply via email to