This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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,


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]