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 <tashernadav(a)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