From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23609 invoked by alias); 26 Nov 2018 16:46:10 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 23590 invoked by uid 89); 26 Nov 2018 16:46:09 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=delays, socket, gained, Hx-languages-length:1620 X-HELO: relay1.mentorg.com Date: Mon, 26 Nov 2018 16:46:00 -0000 From: Joseph Myers To: Florian Weimer CC: Subject: Re: Fix Arm __ASSUME_COPY_FILE_RANGE (bug 23915) [committed] In-Reply-To: <87bm6cou8a.fsf@oldenburg.str.redhat.com> Message-ID: References: <87bm6cou8a.fsf@oldenburg.str.redhat.com> User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="-1152306461-1553067929-1543250761=:24694" X-SW-Source: 2018-11/txt/msg00667.txt.bz2 ---1152306461-1553067929-1543250761=:24694 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8BIT Content-length: 1579 On Mon, 26 Nov 2018, Florian Weimer wrote: > * Joseph Myers: > > > 2018-11-23 Joseph Myers > > > > [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 ---1152306461-1553067929-1543250761=:24694--