From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=47177 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OJA3m-0003cK-WF for qemu-devel@nongnu.org; Mon, 31 May 2010 14:50:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OJ9xk-0003GC-Sj for qemu-devel@nongnu.org; Mon, 31 May 2010 14:43:50 -0400 Received: from hall.aurel32.net ([88.191.82.174]:34320) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OJ9xk-0003Fo-OM for qemu-devel@nongnu.org; Mon, 31 May 2010 14:43:48 -0400 Date: Mon, 31 May 2010 20:43:45 +0200 From: Aurelien Jarno Subject: Re: [Qemu-devel] [PATCH] Fix leul_to_cpu on big endian hosts Message-ID: <20100531184345.GU4621@ohm.aurel32.net> References: <1273592297-18370-1-git-send-email-agraf@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: <1273592297-18370-1-git-send-email-agraf@suse.de> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexander Graf Cc: Marcelo Tosatti , qemu-devel@nongnu.org On Tue, May 11, 2010 at 05:38:17PM +0200, Alexander Graf wrote: > Commit 213acd2e introduced leul_to_cpu with a special code path for big endian > hosts. Unfortunately that code used preprocessor magic that didn't work. > > This patch replaces the explicit ##s by glue() which is proven to work reliably, > enabling me to compile qemu on ppc again. > > Signed-off-by: Alexander Graf > --- > bswap.h | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/bswap.h b/bswap.h > index 956f3fa..20caae6 100644 > --- a/bswap.h > +++ b/bswap.h > @@ -205,7 +205,7 @@ static inline void cpu_to_be32wu(uint32_t *p, uint32_t v) > > #ifdef HOST_WORDS_BIGENDIAN > #define cpu_to_32wu cpu_to_be32wu > -#define leul_to_cpu(v) le ## HOST_LONG_BITS ## _to_cpu(v) > +#define leul_to_cpu(v) glue(glue(le,HOST_LONG_BITS),_to_cpu)(v) > #else > #define cpu_to_32wu cpu_to_le32wu > #define leul_to_cpu(v) (v) While the patch looks correct, I am not able to reproduce the issue. Do you have more details about it? -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurelien@aurel32.net http://www.aurel32.net