This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Linux: Add tables with system call numbers
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Zack Weinberg <zackw at panix dot com>
- Cc: Florian Weimer <fweimer at redhat dot com>, GNU C Library <libc-alpha at sourceware dot org>
- Date: Mon, 3 Jun 2019 17:38:23 +0000
- Subject: Re: [PATCH] Linux: Add tables with system call numbers
- References: <87o93mqlhj.fsf@oldenburg2.str.redhat.com> <CAKCAbMgdtKtrBT_bX96Q6NGF+Hmwj1qrSkb_nr=XWE6HXOgoKw@mail.gmail.com> <87blzlret5.fsf@oldenburg2.str.redhat.com> <CAKCAbMj3J4Aw7qv-+RAuEwDVxE_WmeAPZUmbtZmrit_tKQzgZA@mail.gmail.com>
On Mon, 3 Jun 2019, Zack Weinberg wrote:
> I don't understand why a global list of known system calls is
> incompatible with the checked-in architecture-specific lists of system
> call numbers (in the form of a C header file) being the bits/syscall.h
> for each architecture. I'm just trying to avoid having two header
> files with very nearly the same function.
Currently, bits/syscall.h works automatically for all ABIs in a multilib
installation, by virtue of using the values from asm/unistd.h. Before the
present system was in use there was a fragile system of the makefiles
specifying what macros to predefine to extract each ABI's syscall numbers
from its asm/unistd.h.
If the checked-in list is used for bits/syscall.h, the multilib issue
would need to be handled - either through ABI conditionals in the
checked-in files, or, probably easier to maintain, through installing the
file in a per-ABI location and generating bits/syscall.h to contain ABI
conditionals and include the per-ABI files, using the same mechanism as
for gnu/lib-names.h and gnu/stubs.h (which used to be more complicated
when it had to handle syscall number extraction as well).
--
Joseph S. Myers
joseph@codesourcery.com