Re: [PATCH] Complain about missing system calls.

H. Peter Anvin
2007-03-09T20:54:10Z

Russell King wrote:
> On Fri, Mar 09, 2007 at 11:40:08AM -0800, H. Peter Anvin wrote:
>> Jan-Benedict Glaw wrote:
>>> Not everybody has a simple indexed list of pointers :) For example,
>>> for vax-linux, we use a struct per syscall with the expected number of
>>> on-stack longwords for the call.
>>>
>>> So if something "new" is coming up, please keep in mind that it should
>>> be flexible enough to represent that. :)
>>>
>> I discussed with Al Viro a while ago about using something like the
>> SYSCALLS.def file from klibc as the source format for the system calls.
>> That would deal very flexibly with almost all kinds of stub generation.
>
> Hopefully with this idea in place, we can spot new syscalls before
> the final release of the kernel (maybe kautobuild can help there)
> and fix any silly system call argument ordering which requires
> different architectures to have different syscall prototypes (eg,
> sys_arm_fadvise64_64 vs sys_fadvise64_64, sys_arm_sync_file_range vs
> sys_sync_file_range).

That would definitely be nice.

> Otherwise the SYSCALLS.def file will probably end up being full of
> ifdefs.

... which exactly mirrors the pain and suffering which libc maintainers
have to deal with. The amount of time I spent per line of code in klibc
is quite high, in part because I wanted it to be as self-porting as was
possible. I've really tried to avoid arch-specific hacks, and yet there
are more there than there should be, in large part because of unusable
or missing kernel header exports.

-hpa