Messages in this thread | | | Date | Wed, 17 Mar 2010 11:30:42 -0700 | From | "H. Peter Anvin" <> | Subject | Re: 64-syscall args on 32-bit vs syscall() |
| |
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
| |