diff options
| author | Enric Balletbo i Serra <eballetbo@iseebcn.com> | 2010-03-01 11:32:48 +0100 |
|---|---|---|
| committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-03-03 14:26:41 +0000 |
| commit | 80f1baf525d301c8d2a8ea0bf0f0509381c57151 (patch) | |
| tree | 5d90e5e3047ec305b549a45d9f7c173485c85649 /meta/packages | |
| parent | bda8282653b87fe5a8b485f8b628ab80797579f6 (diff) | |
| download | poky-80f1baf525d301c8d2a8ea0bf0f0509381c57151.tar.gz | |
xserver-xf86-lite: Fix compilation break for ARM architecture.
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>
Diffstat (limited to 'meta/packages')
6 files changed, 313 insertions, 3 deletions
diff --git a/meta/packages/xorg-xserver/xserver-xf86-lite.inc b/meta/packages/xorg-xserver/xserver-xf86-lite.inc index c4f46ecc70..7150a2a466 100644 --- a/meta/packages/xorg-xserver/xserver-xf86-lite.inc +++ b/meta/packages/xorg-xserver/xserver-xf86-lite.inc | |||
| @@ -12,13 +12,15 @@ RDEPENDS_${PN} += "hal xorg-minimal-fonts" | |||
| 12 | 12 | ||
| 13 | FILES_${PN} += "${bindir}/Xorg " | 13 | FILES_${PN} += "${bindir}/Xorg " |
| 14 | 14 | ||
| 15 | EXTRA_OECONF += "--disable-cfb \ | 15 | EXTRA_OECONF += "--disable-static \ |
| 16 | --disable-afb \ | 16 | --disable-acfb \ |
| 17 | --disable-mfb \ | 17 | --disable-ccfb \ |
| 18 | --disable-mcfb \ | ||
| 18 | --disable-dga \ | 19 | --disable-dga \ |
| 19 | --disable-xinerama \ | 20 | --disable-xinerama \ |
| 20 | --disable-xf86misc \ | 21 | --disable-xf86misc \ |
| 21 | --disable-xorgcfg \ | 22 | --disable-xorgcfg \ |
| 23 | --disable-record \ | ||
| 22 | --disable-dmx \ | 24 | --disable-dmx \ |
| 23 | --disable-xnest \ | 25 | --disable-xnest \ |
| 24 | --disable-xvfb \ | 26 | --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 index 0000000000..2341e40bca --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-xf86-lite/crosscompile.patch | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | Index: xorg-server-1.7.99.2/configure.ac | ||
| 2 | =================================================================== | ||
| 3 | --- xorg-server-1.7.99.2.orig/configure.ac 2010-01-29 16:38:49.000000000 +0000 | ||
| 4 | +++ xorg-server-1.7.99.2/configure.ac 2010-01-29 16:42:39.000000000 +0000 | ||
| 5 | @@ -503,14 +503,10 @@ | ||
| 6 | |||
| 7 | dnl Uses --default-font-path if set, otherwise checks for /etc/X11/fontpath.d, | ||
| 8 | dnl otherwise uses standard subdirectories of FONTROOTDIR | ||
| 9 | -AC_CHECK_FILE([${sysconfdir}/X11/fontpath.d], | ||
| 10 | - [DEFAULT_FONT_PATH='catalogue:${sysconfdir}/X11/fontpath.d'], | ||
| 11 | - [ | ||
| 12 | DEFAULT_FONT_PATH="${FONTMISCDIR}/,${FONTTTFDIR}/,${FONTOTFDIR}/,${FONTTYPE1DIR}/,${FONT100DPIDIR}/,${FONT75DPIDIR}/" | ||
| 13 | case $host_os in | ||
| 14 | darwin*) DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;; | ||
| 15 | esac | ||
| 16 | - ]) | ||
| 17 | AC_ARG_WITH(default-font-path, AS_HELP_STRING([--with-default-font-path=PATH], [Comma separated list of font dirs]), | ||
| 18 | [ FONTPATH="$withval" ], | ||
| 19 | [ 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 index 0000000000..565832eed8 --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-xf86-lite/fix_open_max_preprocessor_error.patch | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | Index: git/os/osdep.h | ||
| 2 | =================================================================== | ||
| 3 | --- git.orig/os/osdep.h 2008-10-07 18:38:21.000000000 +0100 | ||
| 4 | +++ git/os/osdep.h 2008-10-07 18:39:36.000000000 +0100 | ||
| 5 | @@ -92,7 +92,7 @@ | ||
| 6 | * like sysconf(_SC_OPEN_MAX) is not supported. | ||
| 7 | */ | ||
| 8 | |||
| 9 | -#if OPEN_MAX <= 256 | ||
| 10 | +#if 0 | ||
| 11 | #define MAXSOCKS (OPEN_MAX - 1) | ||
| 12 | #else | ||
| 13 | #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 index 0000000000..6b34032a39 --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-xf86-lite/nodolt.patch | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | Index: git/configure.ac | ||
| 2 | =================================================================== | ||
| 3 | --- git.orig/configure.ac 2009-01-15 20:35:31.000000000 +0000 | ||
| 4 | +++ git/configure.ac 2009-01-15 20:35:38.000000000 +0000 | ||
| 5 | @@ -62,7 +62,6 @@ | ||
| 6 | AC_LIBTOOL_WIN32_DLL | ||
| 7 | AC_DISABLE_STATIC | ||
| 8 | AC_PROG_LIBTOOL | ||
| 9 | -DOLT | ||
| 10 | AC_PROG_MAKE_SET | ||
| 11 | PKG_PROG_PKG_CONFIG | ||
| 12 | 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 index 0000000000..235b55153a --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-xf86-lite/revert_make_sys_c_use_unaligned_access_functions.patch | |||
| @@ -0,0 +1,256 @@ | |||
| 1 | From 74ab27f64a747ee45810f99cdc6e29b82cf8035e Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Tiago Vignatti <tiago.vignatti@nokia.com> | ||
| 3 | Date: Mon, 28 Dec 2009 16:00:28 +0000 | ||
| 4 | Subject: Revert "Make sys.c use unaligned access functions provided in compiler." | ||
| 5 | |||
| 6 | This reverts commit da923d0bc15e99a8ed1986bd6f5df37f7af7284b. | ||
| 7 | |||
| 8 | Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com> | ||
| 9 | Signed-off-by: Keith Packard <keithp@keithp.com> | ||
| 10 | --- | ||
| 11 | diff --git a/hw/xfree86/x86emu/Makefile.am b/hw/xfree86/x86emu/Makefile.am | ||
| 12 | index e7368f5..df96977 100644 | ||
| 13 | --- a/hw/xfree86/x86emu/Makefile.am | ||
| 14 | +++ b/hw/xfree86/x86emu/Makefile.am | ||
| 15 | @@ -11,7 +11,7 @@ libx86emu_la_SOURCES = debug.c \ | ||
| 16 | sys.c \ | ||
| 17 | x86emu.h | ||
| 18 | |||
| 19 | -INCLUDES = $(XORG_INCS) | ||
| 20 | +INCLUDES = | ||
| 21 | |||
| 22 | AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) | ||
| 23 | |||
| 24 | diff --git a/hw/xfree86/x86emu/sys.c b/hw/xfree86/x86emu/sys.c | ||
| 25 | index 2ebf6f1..e15fb09 100644 | ||
| 26 | --- a/hw/xfree86/x86emu/sys.c | ||
| 27 | +++ b/hw/xfree86/x86emu/sys.c | ||
| 28 | @@ -48,13 +48,168 @@ | ||
| 29 | #ifndef NO_SYS_HEADERS | ||
| 30 | #include <string.h> | ||
| 31 | #endif | ||
| 32 | -#include "compiler.h" /* for unaligned access functions */ | ||
| 33 | /*------------------------- Global Variables ------------------------------*/ | ||
| 34 | |||
| 35 | X86EMU_sysEnv _X86EMU_env; /* Global emulator machine state */ | ||
| 36 | X86EMU_intrFuncs _X86EMU_intrTab[256]; | ||
| 37 | |||
| 38 | /*----------------------------- Implementation ----------------------------*/ | ||
| 39 | +#if defined(__alpha__) || defined(__alpha) | ||
| 40 | +/* to cope with broken egcs-1.1.2 :-(((( */ | ||
| 41 | + | ||
| 42 | +#define ALPHA_UALOADS | ||
| 43 | +/* | ||
| 44 | + * inline functions to do unaligned accesses | ||
| 45 | + * from linux/include/asm-alpha/unaligned.h | ||
| 46 | + */ | ||
| 47 | + | ||
| 48 | +/* | ||
| 49 | + * EGCS 1.1 knows about arbitrary unaligned loads. Define some | ||
| 50 | + * packed structures to talk about such things with. | ||
| 51 | + */ | ||
| 52 | + | ||
| 53 | +#if defined(__GNUC__) | ||
| 54 | +struct __una_u64 { unsigned long x __attribute__((packed)); }; | ||
| 55 | +struct __una_u32 { unsigned int x __attribute__((packed)); }; | ||
| 56 | +struct __una_u16 { unsigned short x __attribute__((packed)); }; | ||
| 57 | +#endif | ||
| 58 | + | ||
| 59 | +static __inline__ unsigned long ldq_u(unsigned long * r11) | ||
| 60 | +{ | ||
| 61 | +#if defined(__GNUC__) | ||
| 62 | + const struct __una_u64 *ptr = (const struct __una_u64 *) r11; | ||
| 63 | + return ptr->x; | ||
| 64 | +#else | ||
| 65 | + unsigned long r1,r2; | ||
| 66 | + __asm__("ldq_u %0,%3\n\t" | ||
| 67 | + "ldq_u %1,%4\n\t" | ||
| 68 | + "extql %0,%2,%0\n\t" | ||
| 69 | + "extqh %1,%2,%1" | ||
| 70 | + :"=&r" (r1), "=&r" (r2) | ||
| 71 | + :"r" (r11), | ||
| 72 | + "m" (*r11), | ||
| 73 | + "m" (*(const unsigned long *)(7+(char *) r11))); | ||
| 74 | + return r1 | r2; | ||
| 75 | +#endif | ||
| 76 | +} | ||
| 77 | + | ||
| 78 | +static __inline__ unsigned long ldl_u(unsigned int * r11) | ||
| 79 | +{ | ||
| 80 | +#if defined(__GNUC__) | ||
| 81 | + const struct __una_u32 *ptr = (const struct __una_u32 *) r11; | ||
| 82 | + return ptr->x; | ||
| 83 | +#else | ||
| 84 | + unsigned long r1,r2; | ||
| 85 | + __asm__("ldq_u %0,%3\n\t" | ||
| 86 | + "ldq_u %1,%4\n\t" | ||
| 87 | + "extll %0,%2,%0\n\t" | ||
| 88 | + "extlh %1,%2,%1" | ||
| 89 | + :"=&r" (r1), "=&r" (r2) | ||
| 90 | + :"r" (r11), | ||
| 91 | + "m" (*r11), | ||
| 92 | + "m" (*(const unsigned long *)(3+(char *) r11))); | ||
| 93 | + return r1 | r2; | ||
| 94 | +#endif | ||
| 95 | +} | ||
| 96 | + | ||
| 97 | +static __inline__ unsigned long ldw_u(unsigned short * r11) | ||
| 98 | +{ | ||
| 99 | +#if defined(__GNUC__) | ||
| 100 | + const struct __una_u16 *ptr = (const struct __una_u16 *) r11; | ||
| 101 | + return ptr->x; | ||
| 102 | +#else | ||
| 103 | + unsigned long r1,r2; | ||
| 104 | + __asm__("ldq_u %0,%3\n\t" | ||
| 105 | + "ldq_u %1,%4\n\t" | ||
| 106 | + "extwl %0,%2,%0\n\t" | ||
| 107 | + "extwh %1,%2,%1" | ||
| 108 | + :"=&r" (r1), "=&r" (r2) | ||
| 109 | + :"r" (r11), | ||
| 110 | + "m" (*r11), | ||
| 111 | + "m" (*(const unsigned long *)(1+(char *) r11))); | ||
| 112 | + return r1 | r2; | ||
| 113 | +#endif | ||
| 114 | +} | ||
| 115 | + | ||
| 116 | +/* | ||
| 117 | + * Elemental unaligned stores | ||
| 118 | + */ | ||
| 119 | + | ||
| 120 | +static __inline__ void stq_u(unsigned long r5, unsigned long * r11) | ||
| 121 | +{ | ||
| 122 | +#if defined(__GNUC__) | ||
| 123 | + struct __una_u64 *ptr = (struct __una_u64 *) r11; | ||
| 124 | + ptr->x = r5; | ||
| 125 | +#else | ||
| 126 | + unsigned long r1,r2,r3,r4; | ||
| 127 | + | ||
| 128 | + __asm__("ldq_u %3,%1\n\t" | ||
| 129 | + "ldq_u %2,%0\n\t" | ||
| 130 | + "insqh %6,%7,%5\n\t" | ||
| 131 | + "insql %6,%7,%4\n\t" | ||
| 132 | + "mskqh %3,%7,%3\n\t" | ||
| 133 | + "mskql %2,%7,%2\n\t" | ||
| 134 | + "bis %3,%5,%3\n\t" | ||
| 135 | + "bis %2,%4,%2\n\t" | ||
| 136 | + "stq_u %3,%1\n\t" | ||
| 137 | + "stq_u %2,%0" | ||
| 138 | + :"=m" (*r11), | ||
| 139 | + "=m" (*(unsigned long *)(7+(char *) r11)), | ||
| 140 | + "=&r" (r1), "=&r" (r2), "=&r" (r3), "=&r" (r4) | ||
| 141 | + :"r" (r5), "r" (r11)); | ||
| 142 | +#endif | ||
| 143 | +} | ||
| 144 | + | ||
| 145 | +static __inline__ void stl_u(unsigned long r5, unsigned int * r11) | ||
| 146 | +{ | ||
| 147 | +#if defined(__GNUC__) | ||
| 148 | + struct __una_u32 *ptr = (struct __una_u32 *) r11; | ||
| 149 | + ptr->x = r5; | ||
| 150 | +#else | ||
| 151 | + unsigned long r1,r2,r3,r4; | ||
| 152 | + | ||
| 153 | + __asm__("ldq_u %3,%1\n\t" | ||
| 154 | + "ldq_u %2,%0\n\t" | ||
| 155 | + "inslh %6,%7,%5\n\t" | ||
| 156 | + "insll %6,%7,%4\n\t" | ||
| 157 | + "msklh %3,%7,%3\n\t" | ||
| 158 | + "mskll %2,%7,%2\n\t" | ||
| 159 | + "bis %3,%5,%3\n\t" | ||
| 160 | + "bis %2,%4,%2\n\t" | ||
| 161 | + "stq_u %3,%1\n\t" | ||
| 162 | + "stq_u %2,%0" | ||
| 163 | + :"=m" (*r11), | ||
| 164 | + "=m" (*(unsigned long *)(3+(char *) r11)), | ||
| 165 | + "=&r" (r1), "=&r" (r2), "=&r" (r3), "=&r" (r4) | ||
| 166 | + :"r" (r5), "r" (r11)); | ||
| 167 | +#endif | ||
| 168 | +} | ||
| 169 | + | ||
| 170 | +static __inline__ void stw_u(unsigned long r5, unsigned short * r11) | ||
| 171 | +{ | ||
| 172 | +#if defined(__GNUC__) | ||
| 173 | + struct __una_u16 *ptr = (struct __una_u16 *) r11; | ||
| 174 | + ptr->x = r5; | ||
| 175 | +#else | ||
| 176 | + unsigned long r1,r2,r3,r4; | ||
| 177 | + | ||
| 178 | + __asm__("ldq_u %3,%1\n\t" | ||
| 179 | + "ldq_u %2,%0\n\t" | ||
| 180 | + "inswh %6,%7,%5\n\t" | ||
| 181 | + "inswl %6,%7,%4\n\t" | ||
| 182 | + "mskwh %3,%7,%3\n\t" | ||
| 183 | + "mskwl %2,%7,%2\n\t" | ||
| 184 | + "bis %3,%5,%3\n\t" | ||
| 185 | + "bis %2,%4,%2\n\t" | ||
| 186 | + "stq_u %3,%1\n\t" | ||
| 187 | + "stq_u %2,%0" | ||
| 188 | + :"=m" (*r11), | ||
| 189 | + "=m" (*(unsigned long *)(1+(char *) r11)), | ||
| 190 | + "=&r" (r1), "=&r" (r2), "=&r" (r3), "=&r" (r4) | ||
| 191 | + :"r" (r5), "r" (r11)); | ||
| 192 | +#endif | ||
| 193 | +} | ||
| 194 | +#endif | ||
| 195 | |||
| 196 | /**************************************************************************** | ||
| 197 | PARAMETERS: | ||
| 198 | @@ -107,7 +262,13 @@ u16 X86API rdw( | ||
| 199 | } | ||
| 200 | else | ||
| 201 | #endif | ||
| 202 | +#if defined(ALPHA_UALOADS) | ||
| 203 | val = ldw_u((u16*)(M.mem_base + addr)); | ||
| 204 | +#elif defined(IA64_UALOADS) | ||
| 205 | + val = uldw((u16*)(M.mem_base + addr)); | ||
| 206 | +#else | ||
| 207 | + val = *(u16*)(M.mem_base + addr); | ||
| 208 | +#endif | ||
| 209 | DB( if (DEBUG_MEM_TRACE()) | ||
| 210 | printk("%#08x 2 -> %#x\n", addr, val);) | ||
| 211 | return val; | ||
| 212 | @@ -140,7 +301,13 @@ u32 X86API rdl( | ||
| 213 | } | ||
| 214 | else | ||
| 215 | #endif | ||
| 216 | +#if defined(ALPHA_UALOADS) | ||
| 217 | val = ldl_u((u32*)(M.mem_base + addr)); | ||
| 218 | +#elif defined(IA64_UALOADS) | ||
| 219 | + val = uldl((u32*)(M.mem_base + addr)); | ||
| 220 | +#else | ||
| 221 | + val = *(u32*)(M.mem_base + addr); | ||
| 222 | +#endif | ||
| 223 | DB( if (DEBUG_MEM_TRACE()) | ||
| 224 | printk("%#08x 4 -> %#x\n", addr, val);) | ||
| 225 | return val; | ||
| 226 | @@ -192,7 +359,13 @@ DB( if (DEBUG_MEM_TRACE()) | ||
| 227 | } | ||
| 228 | else | ||
| 229 | #endif | ||
| 230 | +#if defined(ALPHA_UALOADS) | ||
| 231 | stw_u(val,(u16*)(M.mem_base + addr)); | ||
| 232 | +#elif defined(IA64_UALOADS) | ||
| 233 | + ustw(val,(u16*)(M.mem_base + addr)); | ||
| 234 | +#else | ||
| 235 | + *(u16*)(M.mem_base + addr) = val; | ||
| 236 | +#endif | ||
| 237 | } | ||
| 238 | |||
| 239 | /**************************************************************************** | ||
| 240 | @@ -222,7 +395,13 @@ DB( if (DEBUG_MEM_TRACE()) | ||
| 241 | } | ||
| 242 | else | ||
| 243 | #endif | ||
| 244 | +#if defined(ALPHA_UALOADS) | ||
| 245 | stl_u(val,(u32*)(M.mem_base + addr)); | ||
| 246 | +#elif defined(IA64_UALOADS) | ||
| 247 | + ustl(val,(u32*)(M.mem_base + addr)); | ||
| 248 | +#else | ||
| 249 | + *(u32*)(M.mem_base + addr) = val; | ||
| 250 | +#endif | ||
| 251 | } | ||
| 252 | |||
| 253 | /**************************************************************************** | ||
| 254 | -- | ||
| 255 | cgit v0.8.3-6-g21f6 | ||
| 256 | |||
diff --git a/meta/packages/xorg-xserver/xserver-xf86-lite_1.7.99.2.bb b/meta/packages/xorg-xserver/xserver-xf86-lite_1.7.99.2.bb index 4771404c46..5ef23019ad 100644 --- a/meta/packages/xorg-xserver/xserver-xf86-lite_1.7.99.2.bb +++ b/meta/packages/xorg-xserver/xserver-xf86-lite_1.7.99.2.bb | |||
| @@ -1,4 +1,12 @@ | |||
| 1 | require xserver-xf86-lite.inc | 1 | require xserver-xf86-lite.inc |
| 2 | 2 | ||
| 3 | PR = "r1" | ||
| 4 | |||
| 5 | DEPENDS += "font-util" | ||
| 6 | |||
| 3 | SRC_URI += "file://nodolt.patch;patch=1 \ | 7 | SRC_URI += "file://nodolt.patch;patch=1 \ |
| 4 | file://crosscompile.patch;patch=1" | 8 | file://crosscompile.patch;patch=1" |
| 9 | |||
| 10 | # Misc build failure for master HEAD | ||
| 11 | SRC_URI += "file://fix_open_max_preprocessor_error.patch;patch=1 \ | ||
| 12 | file://revert_make_sys_c_use_unaligned_access_functions.patch;patch=1" | ||
