[PATCH] arch: Fix image and bitmap byte order for ppc64le
Mark Kettenis
mark.kettenis at xs4all.nl
Mon Feb 24 02:18:27 PST 2014
> X-Original-To: xorg-devel at lists.x.org
> From: Egbert Eich <eich at freedesktop.org>
> Date: Mon, 24 Feb 2014 10:57:23 +0100
>
> From: Dinar Valeev <dvaleev at suse.com>
>
> So far PPC was big endian for sure. For ppc64le this is no longer
> true.
Isn't it safer to revert the logic? I'm not sure all
compilers/platforms define __BIG_ENDIAN__ when appropriate, and in
that case existing working PowerPC platforms will get the wrong byte
orders. So something like:
#if defined(__LITTLE_ENDIAN__)
#define IMAGE_BYTE_ORDER LSBFirst
#define BITMAP_BIT_ORDER LSBFirst
#else
#define IMAGE_BYTE_ORDER MSBFirst
#define BITMAP_BIT_ORDER MSBFirst
#endif
Also, the way you changed the "indentation" makes it inconsistent with
what's already in the file.
Cheers,
Mark
> Signed-off-by: Egbert Eich <eich at freedesktop.org>
> ---
> include/servermd.h | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/include/servermd.h b/include/servermd.h
> index 11f6c10..360b701 100644
> --- a/include/servermd.h
> +++ b/include/servermd.h
> @@ -114,8 +114,13 @@ SOFTWARE.
>
> #if defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__)
>
> -#define IMAGE_BYTE_ORDER MSBFirst
> -#define BITMAP_BIT_ORDER MSBFirst
> +# if defined(__BIG_ENDIAN__)
> +# define IMAGE_BYTE_ORDER MSBFirst
> +# define BITMAP_BIT_ORDER MSBFirst
> +# else
> +# define IMAGE_BYTE_ORDER LSBFirst
> +# define BITMAP_BIT_ORDER LSBFirst
> +# endif
> #define GLYPHPADBYTES 4
>
> #endif /* PowerPC */
> --
> 1.8.4.5
>
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
>
More information about the xorg-devel
mailing list