[COMMITTED] sysvipc: Fix semtimeop for !__ASSUME_DIRECT_SYSVIPC_SYSCALLS

Adhemerval Zanella adhemerval.zanella@linaro.org
Mon Sep 28 13:07:56 GMT 2020


The __NR_ipc syscall does not support 64-bit time operations.  It
fixes 7c437d3778.

Checked on i686-linux-gnu on a Linux 5.4.
---
 sysdeps/unix/sysv/linux/semtimedop.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/sysdeps/unix/sysv/linux/semtimedop.c b/sysdeps/unix/sysv/linux/semtimedop.c
index 56121fb0bf..a9ad922ee2 100644
--- a/sysdeps/unix/sysv/linux/semtimedop.c
+++ b/sysdeps/unix/sysv/linux/semtimedop.c
@@ -26,16 +26,11 @@ int
 __semtimedop64 (int semid, struct sembuf *sops, size_t nsops,
 		const struct __timespec64 *timeout)
 {
-#if defined __ASSUME_DIRECT_SYSVIPC_SYSCALLS
-# ifndef __NR_semtimedop_time64
-#  define __NR_semtimedop_time64 __NR_semtimedop
-# endif
+#ifndef __NR_semtimedop_time64
+# define __NR_semtimedop_time64 __NR_semtimedop
+#endif
   int r = INLINE_SYSCALL_CALL (semtimedop_time64, semid, sops, nsops,
 			       timeout);
-#else
-  int r = INLINE_SYSCALL_CALL (ipc, IPCOP_semtimedop, semid,
-			       SEMTIMEDOP_IPC_ARGS (nsops, sops, timeout));
-#endif
 
 #ifndef __ASSUME_TIME64_SYSCALLS
   if (r == 0 || errno != ENOSYS)
-- 
2.25.1



More information about the Libc-alpha mailing list