[PATCH 3/3] xfree86: Fix the sdk headers to be multilib-safe
Mark Kettenis
mark.kettenis at xs4all.nl
Thu Jan 6 15:51:17 PST 2011
> From: Adam Jackson <ajax at redhat.com>
> Date: Thu, 6 Jan 2011 17:29:01 -0500
>
> Use _LP64 (verified on gcc and sun compilers) instead of _XSERVER64 in
> internal header usage, and always define _XSERVER64 for modules if _LP64
> is defined. Prevents differing xorg-server.h between 32 and 64 bit
> packages.
>
> Signed-off-by: Adam Jackson <ajax at redhat.com>
> ---
> include/colormapst.h | 4 ++--
> include/xorg-server.h.in | 7 ++++---
> 2 files changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/include/colormapst.h b/include/colormapst.h
> index 0ba5bd0..b597e2c 100644
> --- a/include/colormapst.h
> +++ b/include/colormapst.h
> @@ -103,12 +103,12 @@ typedef struct _ColormapRec
> {
> VisualPtr pVisual;
> short class; /* PseudoColor or DirectColor */
> -#if defined(_XSERVER64)
> +#if defined(_LP64)
> short pad0;
> XID pad1;
> #endif
> XID mid; /* client's name for colormap */
> -#if defined(_XSERVER64) && (X_BYTE_ORDER == X_LITTLE_ENDIAN)
> +#if defined(_LP64) && (X_BYTE_ORDER == X_LITTLE_ENDIAN)
> XID pad2;
> #endif
> ScreenPtr pScreen; /* screen map is associated with */
This bit puzzles me. Can you explain why it is necessary if
xorg-server.h continues to define _XSERVER64 when appropriate?
> diff --git a/include/xorg-server.h.in b/include/xorg-server.h.in
> index 76cab16..b10b994 100644
> --- a/include/xorg-server.h.in
> +++ b/include/xorg-server.h.in
> @@ -157,9 +157,6 @@
> /* Name of X server */
> #undef __XSERVERNAME__
>
> -/* Define to 1 if unsigned long is 64 bits. */
> -#undef _XSERVER64
> -
> /* Building vgahw module */
> #undef WITH_VGAHW
>
> @@ -187,4 +184,8 @@
> /* X Access Control Extension */
> #undef XACE
>
> +#ifdef _LP64
> +#define _XSERVER64 1
> +#endif
> +
> #endif /* _XORG_SERVER_H_ */
I suppose there is some configure magic somewhere that replaces #undef
_XSERVER64 on LP64 platforms. Is that code now redundant?
More information about the xorg-devel
mailing list