Re: [PATCH] Complain about missing system calls.

Sam Ravnborg
2007-03-20T12:13:27Z

On Thu, Mar 08, 2007 at 04:14:07PM -0800, David Miller wrote:
> From: David Woodhouse <dwmw2@infradead.org>
> Date: Thu, 08 Mar 2007 23:01:13 +0000
>
> > 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
> >
> > Signed-off-by: David Woodhouse <dwmw2@infradead.org>
>
> David, thanks for this __incredibly__ __useful__ patch. I kicked it
> around on sparc64 and found some more ignores to add, see below.
>
> The vast majority of them vector to sys_ni_syscall in the i386 syscall
> table.
>
> sys_ugetrlimit is only necessary if the platform started out
> using the non-SuS compliant sys_old_getrlimit()
>
> The rest, like ioperm, iopl, modify_ldt, et al. are i386
> specific.
>
> Signed-off-by: David S. Miller <davem@davemloft.net>
>
> --- a/init/missing_syscalls.c.ORIG 2007-03-08 16:11:00.000000000 -0800
> +++ b/init/missing_syscalls.c 2007-03-08 16:02:30.000000000 -0800
> @@ -18,6 +18,22 @@
> #endif
>
> /* i386-specific or historical system calls */
> +#define __IGNORE_break

Could it make sense to keep this in arch specific header files?
So when we fiddle with ARM we do not impact SPARC etc.
And in this way ARCH specific changes are kept in ARCH specific files.

For the "Ignore historical" part this should be in a common file I think.

So in other words:

init/missing_syscalls.h => Contains common stuff and include:
include/asm/missing_syscalls.h => contains ARCH specific stuff.

Sam