[PATCH v2] Xmd.h: Treat __ILP32__ targets as LONG32 ones

Sergei Trofimovich slyfox at gentoo.org
Wed Jun 6 11:49:06 PDT 2012


amd64-x32 ABI defines sizeof(long) == sizeof (void*) == 4

Noticed on build failure of libXmu:
  libXmu-1.1.0/work/libXmu-1.1.0/src/EditresCom.c: In function '_XEditresGetStringValues':
  libXmu-1.1.0/work/libXmu-1.1.0/src/EditresCom.c:2198:6: error: duplicate case value
  libXmu-1.1.0/work/libXmu-1.1.0/src/EditresCom.c:2194:6: error: previously used here

More info about x32: https://sites.google.com/site/x32abi/

Signed-off-by: Sergei Trofimovich <slyfox at gentoo.org>
---
Change since v1:
- x32 got __ILP32__ and _ILP32 defines
  allowing result be more generic
 Xmd.h |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/Xmd.h b/Xmd.h
index f3868b3..96cc08f 100644
--- a/Xmd.h
+++ b/Xmd.h
@@ -64,7 +64,9 @@ SOFTWARE.
      defined(__s390x__) || \
      defined(__amd64__) || defined(amd64) || \
      defined(__powerpc64__)
-#  define LONG64				/* 32/64-bit architecture */
+#  if !defined(__ILP32__) /* amd64-x32 is 32bit */
+#   define LONG64				/* 32/64-bit architecture */
+#  endif /* !__ILP32__ */
 # endif
 
 /*
-- 
1.7.8.6



More information about the xorg-devel mailing list