On 1 July 2016 at 12:59, Wirth, Allan <awi...@akamai.com> wrote: > Linux on X86_64 does not use sel_arg_struct for select(), the args are > passed directly. This patch switches a define so X86_64 uses the correct > calling convention. > > Signed-off-by: Allan Wirth <awi...@akamai.com> > --- > linux-user/syscall.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/linux-user/syscall.c b/linux-user/syscall.c > index 8bf6205..209b2a7 100644 > --- a/linux-user/syscall.c > +++ b/linux-user/syscall.c > @@ -8002,7 +8002,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long > arg1, > break; > #if defined(TARGET_NR_select) > case TARGET_NR_select: > -#if defined(TARGET_S390X) || defined(TARGET_ALPHA) > +#if defined(TARGET_S390X) || defined(TARGET_ALPHA) || defined(TARGET_X86_64) > ret = do_select(arg1, arg2, arg3, arg4, arg5); > #else > {
There is a cleaner approach which we should use to fix this: see my comments in reply to this recent patch trying to do a similar thing: https://patchwork.kernel.org/patch/9185927/ thanks -- PMM