Subject: Re: [PATCH] Complain about missing system calls.

From: "H. Peter Anvin" <[email-masked]>
Date: Fri, 09 Mar 2007 12:52:15 -0800

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