]> code.ossystems Code Review - openembedded-core.git/commitdiff
xserver-xorg: Fix build for mips64
authorKhem Raj <raj.khem@gmail.com>
Thu, 10 May 2012 20:58:43 +0000 (13:58 -0700)
committerKhem Raj <raj.khem@gmail.com>
Mon, 21 May 2012 03:24:37 +0000 (20:24 -0700)
mips64 N64 ABI has different size for int and pointer
which means the compiler will complain about conversions
which works fine for 32 bit since sizes are same.

amd64 is taken care of already so we take care of mips64
with this patch by understanding the difference in sizes
in compiler.h

Signed-off-by: Khem Raj <raj.khem@gmail.com>
meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2.inc
meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2/mips64-compiler.patch [new file with mode: 0644]

index fc41568a5f12199016c0e742c89c15786ed7b1de..595ab77278312505c1e49acf849e5a86924ec246 100644 (file)
@@ -2,6 +2,7 @@
 SRC_URI += "file://crosscompile.patch \
             file://fix_open_max_preprocessor_error.patch \
             file://gcc-47-warning.patch \
+           file://mips64-compiler.patch \
            "
 
 SRC_URI[md5sum] = "8796fff441e5435ee36a72579008af24"
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2/mips64-compiler.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2/mips64-compiler.patch
new file mode 100644 (file)
index 0000000..e6bc95b
--- /dev/null
@@ -0,0 +1,29 @@
+on mips64/n64 pointers are 64bit therefore the pointer conversions to int dont work well
+so we end up with incompatible conversion errors
+
+This patch choses the right values for mips64
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+Index: xorg-server-1.11.2/hw/xfree86/common/compiler.h
+===================================================================
+--- xorg-server-1.11.2.orig/hw/xfree86/common/compiler.h       2012-05-10 12:19:59.485599046 -0700
++++ xorg-server-1.11.2/hw/xfree86/common/compiler.h    2012-05-10 12:20:53.109602488 -0700
+@@ -104,6 +104,7 @@
+ #  if !defined(__arm__)
+ #   if !defined(__sparc__) && !defined(__sparc) && !defined(__arm32__) && !defined(__nds32__) \
++      && !defined(__mips64) \
+       && !(defined(__alpha__) && defined(linux)) \
+       && !(defined(__ia64__) && defined(linux)) \
+@@ -708,7 +709,7 @@
+ }
+ #   elif defined(__mips__) || (defined(__arm32__) && !defined(__linux__))
+-#    ifdef __arm32__
++#    if defined (__arm32__) || defined (__mips64)
+ #     define PORT_SIZE long
+ #    else
+ #     define PORT_SIZE short