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 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.)

-- 
Joseph S. Myers
joseph@codesourcery.com

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