]> code.ossystems Code Review - openembedded-core.git/commitdiff
xserver-xf86-lite: Fix compilation break for ARM architecture.
authorEnric Balletbo i Serra <eballetbo@iseebcn.com>
Mon, 1 Mar 2010 10:32:48 +0000 (11:32 +0100)
committerRichard Purdie <rpurdie@linux.intel.com>
Wed, 3 Mar 2010 14:26:41 +0000 (14:26 +0000)
This patch syncs the patches used in xserver-xf86-dri-lite and adds
a new patch that fixes a compilation break for ARM architecture.

(http://www.mail-archive.com/xorg-devel@lists.x.org/msg04137.html)

Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
meta/packages/xorg-xserver/xserver-xf86-lite.inc
meta/packages/xorg-xserver/xserver-xf86-lite/crosscompile.patch [new file with mode: 0644]
meta/packages/xorg-xserver/xserver-xf86-lite/fix_open_max_preprocessor_error.patch [new file with mode: 0644]
meta/packages/xorg-xserver/xserver-xf86-lite/nodolt.patch [new file with mode: 0644]
meta/packages/xorg-xserver/xserver-xf86-lite/revert_make_sys_c_use_unaligned_access_functions.patch [new file with mode: 0644]
meta/packages/xorg-xserver/xserver-xf86-lite_1.7.99.2.bb

index c4f46ecc70326cdc139bcedd2e82eb80e6f9402d..7150a2a466a32211c0e98f9064704f4707bec5a7 100644 (file)
@@ -12,13 +12,15 @@ RDEPENDS_${PN} += "hal xorg-minimal-fonts"
 
 FILES_${PN} += "${bindir}/Xorg "
 
-EXTRA_OECONF += "--disable-cfb \
-                 --disable-afb \
-                 --disable-mfb \
+EXTRA_OECONF += "--disable-static \
+                 --disable-acfb \
+                 --disable-ccfb \
+                 --disable-mcfb \
                  --disable-dga \
                  --disable-xinerama \
                  --disable-xf86misc \
                  --disable-xorgcfg \
+                 --disable-record \
                  --disable-dmx \
                  --disable-xnest \
                  --disable-xvfb \
diff --git a/meta/packages/xorg-xserver/xserver-xf86-lite/crosscompile.patch b/meta/packages/xorg-xserver/xserver-xf86-lite/crosscompile.patch
new file mode 100644 (file)
index 0000000..2341e40
--- /dev/null
@@ -0,0 +1,19 @@
+Index: xorg-server-1.7.99.2/configure.ac
+===================================================================
+--- xorg-server-1.7.99.2.orig/configure.ac     2010-01-29 16:38:49.000000000 +0000
++++ xorg-server-1.7.99.2/configure.ac  2010-01-29 16:42:39.000000000 +0000
+@@ -503,14 +503,10 @@
+ dnl Uses --default-font-path if set, otherwise checks for /etc/X11/fontpath.d,
+ dnl otherwise uses standard subdirectories of FONTROOTDIR
+-AC_CHECK_FILE([${sysconfdir}/X11/fontpath.d],
+-      [DEFAULT_FONT_PATH='catalogue:${sysconfdir}/X11/fontpath.d'],
+-      [
+               DEFAULT_FONT_PATH="${FONTMISCDIR}/,${FONTTTFDIR}/,${FONTOTFDIR}/,${FONTTYPE1DIR}/,${FONT100DPIDIR}/,${FONT75DPIDIR}/"
+               case $host_os in
+                       darwin*)    DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;;
+               esac
+-      ])
+ AC_ARG_WITH(default-font-path, AS_HELP_STRING([--with-default-font-path=PATH], [Comma separated list of font dirs]),
+                               [ FONTPATH="$withval" ],
+                               [ FONTPATH="${DEFAULT_FONT_PATH}" ])
diff --git a/meta/packages/xorg-xserver/xserver-xf86-lite/fix_open_max_preprocessor_error.patch b/meta/packages/xorg-xserver/xserver-xf86-lite/fix_open_max_preprocessor_error.patch
new file mode 100644 (file)
index 0000000..565832e
--- /dev/null
@@ -0,0 +1,13 @@
+Index: git/os/osdep.h
+===================================================================
+--- git.orig/os/osdep.h        2008-10-07 18:38:21.000000000 +0100
++++ git/os/osdep.h     2008-10-07 18:39:36.000000000 +0100
+@@ -92,7 +92,7 @@
+  * like sysconf(_SC_OPEN_MAX) is not supported.
+  */
+-#if OPEN_MAX <= 256
++#if 0
+ #define MAXSOCKS (OPEN_MAX - 1)
+ #else
+ #define MAXSOCKS 256
diff --git a/meta/packages/xorg-xserver/xserver-xf86-lite/nodolt.patch b/meta/packages/xorg-xserver/xserver-xf86-lite/nodolt.patch
new file mode 100644 (file)
index 0000000..6b34032
--- /dev/null
@@ -0,0 +1,12 @@
+Index: git/configure.ac
+===================================================================
+--- git.orig/configure.ac      2009-01-15 20:35:31.000000000 +0000
++++ git/configure.ac   2009-01-15 20:35:38.000000000 +0000
+@@ -62,7 +62,6 @@
+ AC_LIBTOOL_WIN32_DLL
+ AC_DISABLE_STATIC
+ AC_PROG_LIBTOOL
+-DOLT
+ AC_PROG_MAKE_SET
+ PKG_PROG_PKG_CONFIG
+ AC_PROG_LEX
diff --git a/meta/packages/xorg-xserver/xserver-xf86-lite/revert_make_sys_c_use_unaligned_access_functions.patch b/meta/packages/xorg-xserver/xserver-xf86-lite/revert_make_sys_c_use_unaligned_access_functions.patch
new file mode 100644 (file)
index 0000000..235b551
--- /dev/null
@@ -0,0 +1,256 @@
+From 74ab27f64a747ee45810f99cdc6e29b82cf8035e Mon Sep 17 00:00:00 2001
+From: Tiago Vignatti <tiago.vignatti@nokia.com>
+Date: Mon, 28 Dec 2009 16:00:28 +0000
+Subject: Revert "Make sys.c use unaligned access functions provided in compiler."
+
+This reverts commit da923d0bc15e99a8ed1986bd6f5df37f7af7284b.
+
+Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
+Signed-off-by: Keith Packard <keithp@keithp.com>
+---
+diff --git a/hw/xfree86/x86emu/Makefile.am b/hw/xfree86/x86emu/Makefile.am
+index e7368f5..df96977 100644
+--- a/hw/xfree86/x86emu/Makefile.am
++++ b/hw/xfree86/x86emu/Makefile.am
+@@ -11,7 +11,7 @@ libx86emu_la_SOURCES = debug.c \
+                       sys.c \
+                       x86emu.h
+-INCLUDES = $(XORG_INCS)
++INCLUDES = 
+ AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS)
+diff --git a/hw/xfree86/x86emu/sys.c b/hw/xfree86/x86emu/sys.c
+index 2ebf6f1..e15fb09 100644
+--- a/hw/xfree86/x86emu/sys.c
++++ b/hw/xfree86/x86emu/sys.c
+@@ -48,13 +48,168 @@
+ #ifndef NO_SYS_HEADERS
+ #include <string.h>
+ #endif                                                                                           
+-#include "compiler.h" /* for unaligned access functions */
+ /*------------------------- Global Variables ------------------------------*/
+ X86EMU_sysEnv         _X86EMU_env;            /* Global emulator machine state */
+ X86EMU_intrFuncs      _X86EMU_intrTab[256];
+ /*----------------------------- Implementation ----------------------------*/
++#if defined(__alpha__) || defined(__alpha)
++/* to cope with broken egcs-1.1.2 :-(((( */
++
++#define ALPHA_UALOADS
++/*
++ * inline functions to do unaligned accesses
++ * from linux/include/asm-alpha/unaligned.h
++ */
++
++/*
++ * EGCS 1.1 knows about arbitrary unaligned loads.  Define some
++ * packed structures to talk about such things with.
++ */
++
++#if defined(__GNUC__)
++struct __una_u64 { unsigned long  x __attribute__((packed)); };
++struct __una_u32 { unsigned int   x __attribute__((packed)); };
++struct __una_u16 { unsigned short x __attribute__((packed)); };
++#endif
++
++static __inline__ unsigned long ldq_u(unsigned long * r11)
++{
++#if defined(__GNUC__)
++      const struct __una_u64 *ptr = (const struct __una_u64 *) r11;
++      return ptr->x;
++#else
++      unsigned long r1,r2;
++      __asm__("ldq_u %0,%3\n\t"
++              "ldq_u %1,%4\n\t"
++              "extql %0,%2,%0\n\t"
++              "extqh %1,%2,%1"
++              :"=&r" (r1), "=&r" (r2)
++              :"r" (r11),
++               "m" (*r11),
++               "m" (*(const unsigned long *)(7+(char *) r11)));
++      return r1 | r2;
++#endif
++}
++
++static __inline__ unsigned long ldl_u(unsigned int * r11)
++{
++#if defined(__GNUC__)
++      const struct __una_u32 *ptr = (const struct __una_u32 *) r11;
++      return ptr->x;
++#else
++      unsigned long r1,r2;
++      __asm__("ldq_u %0,%3\n\t"
++              "ldq_u %1,%4\n\t"
++              "extll %0,%2,%0\n\t"
++              "extlh %1,%2,%1"
++              :"=&r" (r1), "=&r" (r2)
++              :"r" (r11),
++               "m" (*r11),
++               "m" (*(const unsigned long *)(3+(char *) r11)));
++      return r1 | r2;
++#endif
++}
++
++static __inline__ unsigned long ldw_u(unsigned short * r11)
++{
++#if defined(__GNUC__)
++      const struct __una_u16 *ptr = (const struct __una_u16 *) r11;
++      return ptr->x;
++#else
++      unsigned long r1,r2;
++      __asm__("ldq_u %0,%3\n\t"
++              "ldq_u %1,%4\n\t"
++              "extwl %0,%2,%0\n\t"
++              "extwh %1,%2,%1"
++              :"=&r" (r1), "=&r" (r2)
++              :"r" (r11),
++               "m" (*r11),
++               "m" (*(const unsigned long *)(1+(char *) r11)));
++      return r1 | r2;
++#endif
++}
++
++/*
++ * Elemental unaligned stores 
++ */
++
++static __inline__ void stq_u(unsigned long r5, unsigned long * r11)
++{
++#if defined(__GNUC__)
++      struct __una_u64 *ptr = (struct __una_u64 *) r11;
++      ptr->x = r5;
++#else
++      unsigned long r1,r2,r3,r4;
++
++      __asm__("ldq_u %3,%1\n\t"
++              "ldq_u %2,%0\n\t"
++              "insqh %6,%7,%5\n\t"
++              "insql %6,%7,%4\n\t"
++              "mskqh %3,%7,%3\n\t"
++              "mskql %2,%7,%2\n\t"
++              "bis %3,%5,%3\n\t"
++              "bis %2,%4,%2\n\t"
++              "stq_u %3,%1\n\t"
++              "stq_u %2,%0"
++              :"=m" (*r11),
++               "=m" (*(unsigned long *)(7+(char *) r11)),
++               "=&r" (r1), "=&r" (r2), "=&r" (r3), "=&r" (r4)
++              :"r" (r5), "r" (r11));
++#endif
++}
++
++static __inline__ void stl_u(unsigned long r5, unsigned int * r11)
++{
++#if defined(__GNUC__)
++      struct __una_u32 *ptr = (struct __una_u32 *) r11;
++      ptr->x = r5;
++#else
++      unsigned long r1,r2,r3,r4;
++
++      __asm__("ldq_u %3,%1\n\t"
++              "ldq_u %2,%0\n\t"
++              "inslh %6,%7,%5\n\t"
++              "insll %6,%7,%4\n\t"
++              "msklh %3,%7,%3\n\t"
++              "mskll %2,%7,%2\n\t"
++              "bis %3,%5,%3\n\t"
++              "bis %2,%4,%2\n\t"
++              "stq_u %3,%1\n\t"
++              "stq_u %2,%0"
++              :"=m" (*r11),
++               "=m" (*(unsigned long *)(3+(char *) r11)),
++               "=&r" (r1), "=&r" (r2), "=&r" (r3), "=&r" (r4)
++              :"r" (r5), "r" (r11));
++#endif
++}
++
++static __inline__ void stw_u(unsigned long r5, unsigned short * r11)
++{
++#if defined(__GNUC__)
++      struct __una_u16 *ptr = (struct __una_u16 *) r11;
++      ptr->x = r5;
++#else
++      unsigned long r1,r2,r3,r4;
++
++      __asm__("ldq_u %3,%1\n\t"
++              "ldq_u %2,%0\n\t"
++              "inswh %6,%7,%5\n\t"
++              "inswl %6,%7,%4\n\t"
++              "mskwh %3,%7,%3\n\t"
++              "mskwl %2,%7,%2\n\t"
++              "bis %3,%5,%3\n\t"
++              "bis %2,%4,%2\n\t"
++              "stq_u %3,%1\n\t"
++              "stq_u %2,%0"
++              :"=m" (*r11),
++               "=m" (*(unsigned long *)(1+(char *) r11)),
++               "=&r" (r1), "=&r" (r2), "=&r" (r3), "=&r" (r4)
++              :"r" (r5), "r" (r11));
++#endif
++}
++#endif
+ /****************************************************************************
+ PARAMETERS:
+@@ -107,7 +262,13 @@ u16 X86API rdw(
+               }
+       else
+ #endif
++#if defined(ALPHA_UALOADS)
+               val = ldw_u((u16*)(M.mem_base + addr));
++#elif  defined(IA64_UALOADS)
++      val = uldw((u16*)(M.mem_base + addr));
++#else
++              val = *(u16*)(M.mem_base + addr);
++#endif
+               DB(     if (DEBUG_MEM_TRACE())
+               printk("%#08x 2 -> %#x\n", addr, val);)
+     return val;
+@@ -140,7 +301,13 @@ u32 X86API rdl(
+               }
+       else
+ #endif
++#if defined(ALPHA_UALOADS)
+               val = ldl_u((u32*)(M.mem_base + addr));
++#elif  defined(IA64_UALOADS)
++        val = uldl((u32*)(M.mem_base + addr));
++#else
++              val = *(u32*)(M.mem_base + addr);
++#endif
+ DB(   if (DEBUG_MEM_TRACE())
+               printk("%#08x 4 -> %#x\n", addr, val);)
+       return val;
+@@ -192,7 +359,13 @@ DB(       if (DEBUG_MEM_TRACE())
+               }
+       else
+ #endif
++#if defined(ALPHA_UALOADS)
+        stw_u(val,(u16*)(M.mem_base + addr));
++#elif defined(IA64_UALOADS)
++     ustw(val,(u16*)(M.mem_base + addr));
++#else
++       *(u16*)(M.mem_base + addr) = val;
++#endif
+ }
+ /****************************************************************************
+@@ -222,7 +395,13 @@ DB(       if (DEBUG_MEM_TRACE())
+               }
+       else
+ #endif
++#if defined(ALPHA_UALOADS)
+        stl_u(val,(u32*)(M.mem_base + addr));
++#elif defined(IA64_UALOADS)
++     ustl(val,(u32*)(M.mem_base + addr));
++#else
++       *(u32*)(M.mem_base + addr) = val;
++#endif
+ }
+ /****************************************************************************
+--
+cgit v0.8.3-6-g21f6
+
index 4771404c46216e2f5f2b4dbf8b891825b9fe7f51..5ef23019adc8045482634792aa50c261aef915b8 100644 (file)
@@ -1,4 +1,12 @@
 require xserver-xf86-lite.inc
 
+PR = "r1"
+
+DEPENDS += "font-util"
+
 SRC_URI += "file://nodolt.patch;patch=1 \
             file://crosscompile.patch;patch=1"
+
+# Misc build failure for master HEAD
+SRC_URI += "file://fix_open_max_preprocessor_error.patch;patch=1 \
+            file://revert_make_sys_c_use_unaligned_access_functions.patch;patch=1"