This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 5/5] Update sysvipc kernel-features.h files for Linux 5.1
On 17/05/2019 18:00, Stepan Golosunov wrote:
> 16.05.2019 в 12:12:49 -0300 Adhemerval Zanella написал:
>> diff --git a/sysdeps/unix/sysv/linux/semop.c b/sysdeps/unix/sysv/linux/semop.c
>> index 119ee06878..61649e3f41 100644
>> --- a/sysdeps/unix/sysv/linux/semop.c
>> +++ b/sysdeps/unix/sysv/linux/semop.c
>> @@ -26,7 +26,9 @@
>> int
>> semop (int semid, struct sembuf *sops, size_t nsops)
>> {
>> -#ifdef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
>> + /* semop wire-up syscall is not exported for 32-bit ABIs (they have
>
> There is no semop on 64-bit ABIs too.
It does for architectures that already had the sysvipc wire-up before the
time64_t patchset, x86_64 for instance where its value is 65.
>
>> + semtimedop_time64 instead with uses a 64-bit time_t). */
>> +#ifdef __NR_semop
>> return INLINE_SYSCALL_CALL (semop, semid, sops, nsops);
>> #else
>> return INLINE_SYSCALL_CALL (ipc, IPCOP_semop, semid, nsops, 0, sops);
>
>> diff --git a/sysdeps/unix/sysv/linux/semtimedop.c b/sysdeps/unix/sysv/linux/semtimedop.c
>> index 1d746c4117..6bbca1e16f 100644
>> --- a/sysdeps/unix/sysv/linux/semtimedop.c
>> +++ b/sysdeps/unix/sysv/linux/semtimedop.c
>> @@ -27,7 +27,9 @@ int
>> semtimedop (int semid, struct sembuf *sops, size_t nsops,
>> const struct timespec *timeout)
>> {
>> -#ifdef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
>> + /* semop wire-up syscall is not exported for 32-bit ABIs (they have
>
> semtimedop, not semop. And on the three 64-bit ABIs the newly added
> syscall is still called semtimedop. __ASSUME_DIRECT_SYSVIPC_SYSCALLS
> condition is still needed for them here (otherwise the new syscall
> will be used even when __LINUX_KERNEL_VERSION < 0x050100).
Thanks, I fixed the comment and added back the __ASSUME_DIRECT_SYSVIPC_SYSCALLS
along with the __NR_* check as well.
>
>> + semtimedop_time64 instead with uses a 64-bit time_t). */
>> +#ifdef __NR_semtimedop
>> return INLINE_SYSCALL_CALL (semtimedop, semid, sops, nsops, timeout);
>> #else
>> return INLINE_SYSCALL_CALL (ipc, IPCOP_semtimedop, semid,