On 01/07/2013 02:38 PM, Laurent Vivier wrote: > -#if defined(TARGET_NR_select) && !defined(TARGET_S390X) && > !defined(TARGET_S390) > +#if defined(TARGET_NR_select) && !defined(TARGET_S390X) && \ > + !defined(TARGET_S390) && \ > + !defined(TARGET_ALPHA) > case TARGET_NR_select: > { > struct target_sel_arg_struct *sel; > @@ -7189,8 +7191,9 @@ abi_long do_syscall(void *cpu_env, int num, abi_long > arg1, > } > break; > #endif /* TARGET_NR_getdents64 */ > -#if defined(TARGET_NR__newselect) || defined(TARGET_S390X) > -#ifdef TARGET_S390X > +#if defined(TARGET_NR__newselect) || defined(TARGET_S390X) \ > + || defined(TARGET_ALPHA) > +#if defined(TARGET_S390X) || defined(TARGET_ALPHA) > case TARGET_NR_select: > #else > case TARGET_NR__newselect:
I would much prefer to see these blocks moved around so that it's of the form #if defined(TARGET_NR_select) case TARGET_NR_select: # if defined(TARGET_ALPHA) || defined(TARGET_S390X) ret = do_select(arg1, arg2, arg3, arg4, arg5); # else { other stuff } # endif break; #endif #if defined(TARGET_NR__newselect) case TARGET_NR__newselect: ret = do_select(arg1, arg2, arg3, arg4, arg5); break; #endif I sincerely dislike sequences of defined and !defined that must be in sync. Also note that there is no TARGET_S390, only TARGET_S390X. We only emulate the 64-bit guest. r~