Messages in this thread | | | Date | Tue, 1 Jun 2004 02:24:44 -0700 | From | "David S. Miller" <> | Subject | Re: compat syscall args |
| |
On Tue, 1 Jun 2004 11:07:42 +0200 Arnd Bergmann <arnd@arndb.de> wrote:
> Also, what should be the conversion for positive signed arguments like the > futex 'op' value? Sign-extension would be the formally correct solution, > but simply using the zero-extended value (like we do in most places) works > just as well.
Personally I think it makes more sense to do what sparc64 does which is:
1) The syscall32 entry code extends each arg in a fixed way. Ie. arg0-3 are zero-extended, arg4-5 are sign-extended or whatever. I posted the choices we use on sparc64 just the other day.
2) For each syscall where this default set of extensions is not correct, little assembler or C stubs are used to correct the extensions made by the default code.
It is the most optimal solution. We only need 13 or so stubs on sparc64 with the defaults we've choosen. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |