From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.suse.de ([195.135.220.2]:52324 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2992835AbXCIPML (ORCPT ); Fri, 9 Mar 2007 10:12:11 -0500 Subject: Re: [PATCH] Complain about missing system calls. References: <1173394873.3461.510.camel@pmac.infradead.org> From: Andi Kleen Date: 09 Mar 2007 17:11:10 +0100 In-Reply-To: <1173394873.3461.510.camel@pmac.infradead.org> Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: linux-arch-owner@vger.kernel.org To: David Woodhouse Cc: akpm@osdl.org, linux-kernel@vger.kernel.org, linuxppc-dev@ozlabs.org, rmk@arm.linux.org.uk, sam@ravnborg.org, linux-arch@vger.kernel.org List-ID: David Woodhouse 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. Comments? -Andi