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/