This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] sparc64: remove bind, listen and setsockopt from syscalls.list
- From: Adhemerval Zanella <adhemerval dot zanella at linaro dot org>
- To: libc-alpha at sourceware dot org
- Date: Tue, 1 Mar 2016 15:06:13 -0300
- Subject: Re: [PATCH] sparc64: remove bind, listen and setsockopt from syscalls.list
- Authentication-results: sourceware.org; auth=none
- References: <1456845449-1871-1-git-send-email-aurelien at aurel32 dot net> <87y4a2i3no dot fsf at mid dot deneb dot enyo dot de> <20160301170804 dot GA2353 at aurel32 dot net>
On 01-03-2016 14:08, Aurelien Jarno wrote:
> On 2016-03-01 17:06, Florian Weimer wrote:
>> * Aurelien Jarno:
>>
>>> The bind, listen and setsockopt syscalls have recently been added in
>>> kernel 4.4. They should therefore not appear in syscalls.list as it
>>> means they are use inconditionally instead of possibly using the
>>> the socketcall fallback.
>>
>> Right.
>>
>>> All other syscalls from syscalls.list with an equivalent socketcall
>>> version are available in kernel 3.2, which is the required minimum.
>>
>> Doesn't this still cause unnecessary code duplication because there
>> are now two implementations, one in generic code and one generated for
>> sparc64? (I'm not familiar with the way the sysdeps mechanism works.)
>
> That causes source code duplication, but the binary code will only
> contain the code generated from syscalls.list. I actually guess that for
> syscalls that are available on all Linux architectures (I don't know if
> it is the case after raising the minimum version to 3.2), we can remove
> the generic implementation and add an entry to
> sysdeps/unix/sysv/linux/syscalls.list.
>
> Aurelien
>
This patch lgtm since sparc64 is already using the default linux
implementation for these syscalls.
Regarding the code duplication and syscalls.list I would advise to include
only the non-cancellable syscalls on the syscall.list since I am currently
working on reramp the cancellation code.