This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] <bits/syscall.h>: Use an arch-independent system call list on Linux
- From: Florian Weimer <fw at deneb dot enyo dot de>
- To: Joseph Myers <joseph at codesourcery dot com>
- Cc: Carlos O'Donell <carlos at redhat dot com>, Andreas Schwab <schwab at linux-m68k dot org>, <libc-alpha at sourceware dot org>, "Dmitry V. Levin" <ldv at altlinux dot org>
- Date: Thu, 24 Aug 2017 20:48:05 +0200
- Subject: Re: [PATCH] <bits/syscall.h>: Use an arch-independent system call list on Linux
- Authentication-results: sourceware.org; auth=none
- References: <mvmmvbtewly.fsf@suse.de> <652ab8b9-fbf1-00f3-ff65-faff202cfc07@redhat.com> <mvminmhetn1.fsf@suse.de> <0be44a08-16c1-e904-272a-6322f51e7b0c@redhat.com> <mvm8tnden2i.fsf@suse.de> <086d58f4-f74c-6b8b-52f7-e7b80c51bb40@redhat.com> <mvm4ly1em59.fsf@suse.de> <d26af852-082b-4f7f-fac3-8b0cc36be883@redhat.com> <mvmziftd51i.fsf@suse.de> <b3f09948-0663-dc7c-476b-9922d4ff6f69@redhat.com> <20170406143719.GA29170@altlinux.org> <1fd1a90c-1f79-5eef-d9d4-aef7ccc4965c@redhat.com> <87shl2x7xo.fsf@linux-m68k.org> <db092be8-bf50-521c-f83a-774f23f20b67@redhat.com> <8737d1y6zo.fsf@linux-m68k.org> <87shl1vbsn.fsf@mid.deneb.enyo.de> <27e32f21-fc5c-d6cc-73d2-5a38b97ea47e@redhat.com> <alpine.DEB.2.20.1708241508030.8746@digraph.polyomino.org.uk>
* Joseph Myers:
> I do not object to bounding the SYS_* API exported by glibc to a set of
> system calls known to that glibc version.
>
> I do object to having a test we know will fail when someone builds glibc
> with a newer set of kernel headers than that version of glibc. That is, I
> think the test should allow extra __NR_* if the kernel headers have a
> newer (major.minor) version number than the kernel version listed in
> syscall-names.list. That way, the test is still effective in development
> as long as people update the kernel number when adding syscalls to the
> file or doing other new-kernel-version updates, without causing spurious
> failures for people building past release versions / branches of glibc.
Hmm. The way the patch currently works, a missing built-in system
call name is actually a user-visible bug because they won't get the
SYS_* macro they expect (based on the kernel headers). This is why I
made it a test failure.
If we don't want that, I need to resurrect the old magic list
generation and use its results to augment the built-in list. The test
can remain as-is, but it will no longer fail.
A compromise would be to assume that for mixed-mode architectures
(e.g., i386/x86-64/x32), the set of missing system calls is the same
across all architectures, then we could still leave out the
complicated list generation logic.
> I'd expect LC_ALL=C to have to be set when running the various awk scripts
> (at least those depending in any way on the ordering of the syscall list).
Right, that needs to be fixed.