From: Vineet Gupta via Libc-alpha <libc-alpha@xxxxxxxxxxxxxx> An older asm-generic syscall ABI may have kernel provide 32-bit time syscalls, so undef them to not mix 32/64 in 64-bit time regime. Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> --- Changes since v2 - Made x32 safe Changes since v1 - don't redirect these to 64-bit variants --- sysdeps/unix/sysv/linux/generic/sysdep.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/sysdeps/unix/sysv/linux/generic/sysdep.h b/sysdeps/unix/sysv/linux/generic/sysdep.h index 40b4b955ca1b..b83e17e1c9d1 100644 --- a/sysdeps/unix/sysv/linux/generic/sysdep.h +++ b/sysdeps/unix/sysv/linux/generic/sysdep.h @@ -17,6 +17,7 @@ <https://www.gnu.org/licenses/>. */ #include <bits/wordsize.h> +#include <bits/timesize.h> #include <kernel-features.h> #include <sysdeps/unix/sysdep.h> #include <sysdeps/unix/sysv/linux/sysdep.h> @@ -25,3 +26,26 @@ #ifdef __NR_llseek # define __NR__llseek __NR_llseek #endif + +#if (__TIMESIZE == 64 && __WORDSIZE == 32 \ + && (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)) + +/* Don't provide 32-bit time syscalls even if the kernel ABI provides + them (Older variants of asm-generic ABIs e.g. ARC). */ + +# undef __NR_futex +# undef __NR_rt_sigtimedwait +# undef __NR_ppoll +# undef __NR_utimensat +# undef __NR_pselect6 +# undef __NR_recvmmsg +# undef __NR_semtimedop +# undef __NR_mq_timedreceive +# undef __NR_mq_timedsend +# undef __NR_clock_getres +# undef __NR_timerfd_settime +# undef __NR_timerfd_gettime +# undef __NR_sched_rr_get_interval +# undef __NR_clock_adjtime + +#endif -- 2.20.1 _______________________________________________ linux-snps-arc mailing list linux-snps-arc@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/linux-snps-arc