From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:32849) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TsVUM-00073u-Hb for qemu-devel@nongnu.org; Tue, 08 Jan 2013 04:28:56 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TsVUL-00035d-2t for qemu-devel@nongnu.org; Tue, 08 Jan 2013 04:28:54 -0500 Received: from moutng.kundenserver.de ([212.227.17.8]:54675) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TsVUK-00035R-PO for qemu-devel@nongnu.org; Tue, 08 Jan 2013 04:28:53 -0500 Date: Tue, 8 Jan 2013 10:28:43 +0100 (CET) From: Laurent Vivier Message-ID: <42375526.591504.1357637323982.JavaMail.open-xchange@ox-webdesk.1and1.fr> In-Reply-To: <50EB56EE.4020600@twiddle.net> References: <1357598314-21156-1-git-send-email-laurent@vivier.eu> <50EB56EE.4020600@twiddle.net> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_591503_881318168.1357637323926" Subject: Re: [Qemu-devel] [PATCH] linux-user,alpha: correct select() Reply-To: Laurent Vivier List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Richard Henderson Cc: Riku Voipio , qemu-devel@nongnu.org, dillona@dillona.com ------=_Part_591503_881318168.1357637323926 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Le 8 janvier 2013 =C3=A0 00:14, Richard Henderson a =C3= =A9crit : > 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_l= ong > > 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 =3D do_select(arg1, arg2, arg3, arg4, arg5); > # else > { > other stuff > } > # endif > break; > #endif > #if defined(TARGET_NR__newselect) > case TARGET_NR__newselect: > ret =3D do_select(arg1, arg2, arg3, arg4, arg5); > break; > #endif > > I sincerely dislike sequences of defined and !defined that must be in syn= c. > Also note that there is no TARGET_S390, only TARGET_S390X. We only emulat= e > the 64-bit guest. > I agree with you, but I like to keep my patches as minimal as possible : I = just add the TARGET_ALPHA on the line. If I'm able to test the TARGET_S390X, I will try to rewrite this patch as y= ou explain. Regards, Laurent ------=_Part_591503_881318168.1357637323926 MIME-Version: 1.0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Le 8 janvier 2013 à 00:14, Richard Henderson <rth@twiddle.net> a écrit :
> 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.
>
 
I agree with you, but I like to keep my patches as minimal as possible : I just add the TARGET_ALPHA on the line.
If I'm able to test the TARGET_S390X, I will try to rewrite this patch as you explain.
 
Regards,
Laurent
------=_Part_591503_881318168.1357637323926--