Messages in this thread | | | Date | Wed, 23 Jun 2010 12:23:44 -0700 | From | "H. Peter Anvin" <> | Subject | Re: [PATCH 12/40] x86, compat: convert ia32 layer to use |
| |
On 06/23/2010 04:41 AM, Frederic Weisbecker wrote: > On Wed, Jun 23, 2010 at 12:46:04PM +0200, Christoph Hellwig wrote: >> On Wed, Jun 23, 2010 at 12:36:21PM +0200, Frederic Weisbecker wrote: >>> I think we wanted that to keep the sys32_ prefixed based naming, to avoid >>> collisions with generic compat handler names. >> >> For native syscalls we do this by adding a arch prefix inside the >> syscall name, e.g.: >> >> arch/s390/kernel/sys_s390.c:SYSCALL_DEFINE(s390_fallocate)(int fd, int mode, loff_t offset, >> arch/sparc/kernel/sys_sparc_64.c:SYSCALL_DEFINE1(sparc_pipe_real, struct pt_regs *, regs) > > In fact we sort of wanted to standardize the name of arch overriden compat > syscalls, so that userspace programs playing with syscalls tracing won't have > to deal with arch naming differences. >
That seems totally wrong in so many ways.
What userspace sees is the system call name, e.g. fallocate or pipe. It should *not* be visible to userspace that there is an arch-specici implementation.
There are already a huge amount of gratuitous user space ABI differences, of course, partly because we *still* don't actually have a systematic model for argument passing.
-hpa
-- H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf.
| |