Re: [PATCH] Complain about missing system calls.

From: David Miller
Date: Thu Mar 08 2007 - 19:14:33 EST


From: David Woodhouse <dwmw2@xxxxxxxxxxxxx>
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@xxxxxxxxxxxxx>

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@xxxxxxxxxxxxx>

--- 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
+#define __IGNORE_stty
+#define __IGNORE_gtty
+#define __IGNORE_ftime
+#define __IGNORE_prof
+#define __IGNORE_lock
+#define __IGNORE_mpx
+#define __IGNORE_ulimit
+#define __IGNORE_profil
+#define __IGNORE_ioperm
+#define __IGNORE_iopl
+#define __IGNORE_idle
+#define __IGNORE_modify_ldt
+#define __IGNORE_getpmsg
+#define __IGNORE_putpmsg
+#define __IGNORE_ugetrlimit
#define __IGNORE_mmap2
#define __IGNORE_vm86
#define __IGNORE_vm86old
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/