Re: [PATCH] Complain about missing system calls.

From: Jan-Benedict Glaw
Date: Fri Mar 09 2007 - 11:38:29 EST


On Fri, 2007-03-09 17:11:10 +0100, Andi Kleen <andi@xxxxxxxxxxxxxx> wrote:
> David Woodhouse <dwmw2@xxxxxxxxxxxxx> writes:
> > Most system calls seem to get added to i386 first. This patch
> > automatically generates a warning for any new system call which is
> > implemented on i386 but not the architecture currently being compiled.
> > On PowerPC at the moment, for example, it results in these warnings:
> > init/missing_syscalls.h:935:3: warning: #warning syscall sync_file_range not implemented
> > init/missing_syscalls.h:947:3: warning: #warning syscall getcpu not implemented
> > init/missing_syscalls.h:950:3: warning: #warning syscall epoll_pwait not implemented
>
> I think a better solution would be to finally switch to auto generated
> system call tables for newer system calls. The original reason why the
> architectures have different system call numbers -- compatibility with
> another "native" Unix -- is completely obsolete now. This leaves only
> minor differences of compat stub vs non compat stub and a few
> architecture specific calls.
>
> Of course the existing syscall numbers can't be changed, but for all new
> calls one could just add automatically for everybody.
>
> A global table with two entries (compat and non compat) and a per arch
> override table should be sufficient.

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. :)

MfG, JBG

--
Jan-Benedict Glaw jbglaw@xxxxxxxxxx +49-172-7608481
Signature of: "really soon now": an unspecified period of time, likly to
the second : be greater than any reasonable definition
of "soon".

Attachment: signature.asc
Description: Digital signature