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