From: Adhemerval Zanella Date: Fri, 25 Sep 2020 18:04:34 +0000 (-0300) Subject: sysvipc: Fix semtimeop for !__ASSUME_DIRECT_SYSVIPC_SYSCALLS X-Git-Tag: glibc-2.33~463 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=aaa12e9ff0;p=thirdparty%2Fglibc.git sysvipc: Fix semtimeop for !__ASSUME_DIRECT_SYSVIPC_SYSCALLS The __NR_ipc syscall does not support 64-bit time operations. It fixes 7c437d3778. Checked on i686-linux-gnu on a Linux 5.4. --- diff --git a/sysdeps/unix/sysv/linux/semtimedop.c b/sysdeps/unix/sysv/linux/semtimedop.c index 56121fb0bf7..a9ad922ee23 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)