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: Fix Arm __ASSUME_COPY_FILE_RANGE (bug 23915) [committed]



On 26/11/2018 14:46, Joseph Myers wrote:
> On Mon, 26 Nov 2018, Florian Weimer wrote:
> 
>> * Joseph Myers:
>>
>>> 2018-11-23  Joseph Myers  <joseph@codesourcery.com>
>>>
>>> 	[BZ #23915]
>>> 	* sysdeps/unix/sysv/linux/arm/kernel-features.h
>>> 	[__LINUX_KERNEL_VERSION < 0x040700] (__ASSUME_COPY_FILE_RANGE):
>>> 	Undefine.
>>
>> So I feel kind of bad about this—I looked for such issues after the
>> first problems cropped up and just didn't seem them in the kernel source
>> tree.
>>
>> Assuming that I'm going to implement a few system call wrappers in the
>> future, how can I do a better job here?
> 
> My approach is to examine the diffs for the kernel version that introduced 
> the syscall, and check whether it's present (asm/unistd.h, and syscall 
> table, and any relevant compat syscall table) for each (architecture, ABI) 
> pair supported by glibc not using the asm-generic syscall ABI.
> 
> What we really need is for the kernel to do a better job at introducing 
> syscalls at the same time on all architectures, rather than just adding 
> them for one or two architectures, leaving it to architecture maintainers 
> to fill in the rest and so resulting in long delays before glibc can 
> actually assume a syscall to be available everywhere.
> 
> (I think kernel 4.4, when many socket syscalls can be assumed to be 
> available everywhere, will be the next point where there are significant 
> simplifications to be gained in glibc sources by increasing the global 
> minimum kernel version supported - many of those functions will be able to 
> move to just having a single entry in syscalls.list.)
> 

I brought this issue to kernel developers on latest Linux Plumber two weeks
ago. We all agreed that Linux should avoid wiring up all-independent syscalls
in different releases for different architectures, but currently there is no
enforcing mechanism to do so.

On same discussion I also raised, from Florian's suggestion, about focal 
points relating to libc kernel iteration and Arnd Bergmann and Peter Anvin
volunteered. I am ccing them so we can improve the syscall additions for
new Linux releases.

Arnd also said the idea is to have the new 64-bit time_t syscalls for all 
affected architectures when it is accepted upstream.


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