[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] linux-user,alpha: correct select()
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [PATCH] linux-user,alpha: correct select() |
Date: |
Mon, 07 Jan 2013 15:14:54 -0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0 |
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~