Re: 64-syscall args on 32-bit vs syscall()

From: H. Peter Anvin
Date: Wed Mar 17 2010 - 14:35:30 EST


On 03/17/2010 01:56 AM, Benjamin Herrenschmidt wrote:

Ok, so I -may- be missing something, but I believe this won't break
anything:

- You keep the existing syscall() exported by glibc for binary
compatibility

- You add a new __syscall() (or whatever you want to name it) that adds
a dummy argument at the beginning, and whose implementation shifts
everything by 2 instead of 1 argument before calling into the kernel

- You define in unistd.h or whatever is relevant, a macro that does:

#define syscall(__sysno, __args..) __syscall(0, _sysno, __args)


Again, this is *exactly* symbol versioning done by hand... we have proper symbol versioning, let's use it.

-hpa
--
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/