Date: Friday, September 16, 2011 @ 04:52:29 Author: heftig Revision: 138093
upgpkg: sdl 1.2.14-8 Fix FS#26020 Added: sdl/trunk/sdl-1.2.14-disable-mmx.patch Modified: sdl/trunk/PKGBUILD ------------------------------+ PKGBUILD | 12 +++++--- sdl-1.2.14-disable-mmx.patch | 59 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 4 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2011-09-16 08:47:11 UTC (rev 138092) +++ PKGBUILD 2011-09-16 08:52:29 UTC (rev 138093) @@ -1,10 +1,11 @@ # $Id$ -# Maintainer: Allan McRae <al...@archlinux.org> +# Maintainer: Jan "heftig" Steffens <jan.steff...@gmail.com> +# Contributor: Allan McRae <al...@archlinux.org> # Contributor: dorphell <dorph...@archlinux.org> pkgname=sdl pkgver=1.2.14 -pkgrel=7 +pkgrel=8 pkgdesc="A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard" arch=('i686' 'x86_64') url="http://www.libsdl.org" @@ -15,17 +16,20 @@ source=(http://www.libsdl.org/release/SDL-${pkgver}.tar.gz sdl-1.2.14-joystick-crash.diff sdl-1.2.14-fix-mouse-clicking.patch - sdl-1.2.14-fix-disappearing-cursor.patch) + sdl-1.2.14-fix-disappearing-cursor.patch + sdl-1.2.14-disable-mmx.patch) md5sums=('e52086d1b508fa0b76c52ee30b55bec4' '9d8890b3817736a5d365f7497f096634' '04d8c179f125e04bcd4c9d60e013c2d7' - 'a6cf3e71b653aa97d0d8ae6c0a789807') + 'a6cf3e71b653aa97d0d8ae6c0a789807' + 'e5e89389a55cd7a2fee44cb53af8dd6e') build() { cd ${srcdir}/SDL-${pkgver} patch -Np1 -i $srcdir/sdl-1.2.14-joystick-crash.diff patch -Np1 -i $srcdir/sdl-1.2.14-fix-mouse-clicking.patch patch -Np1 -i $srcdir/sdl-1.2.14-fix-disappearing-cursor.patch + patch -Np1 -i $srcdir/sdl-1.2.14-disable-mmx.patch ./configure --prefix=/usr --disable-nasm --enable-alsa --enable-esd \ --with-x --disable-rpath make Added: sdl-1.2.14-disable-mmx.patch =================================================================== --- sdl-1.2.14-disable-mmx.patch (rev 0) +++ sdl-1.2.14-disable-mmx.patch 2011-09-16 08:52:29 UTC (rev 138093) @@ -0,0 +1,59 @@ +2 changesets to fix FS#26020 + +# HG changeset patch +# User Ryan C. Gordon <iccu...@icculus.org> +# Date 1315711279 14400 +# Node ID 739ad55fe50d77a2ce84d6e3d59e97c550719d0d +# Parent 32558685a9042e79cb773c37c09349b0a5ff5d72 +Disabled MMX blitters on GCC. They break the build on tons of machines now. + +diff -r 32558685a904 -r 739ad55fe50d src/video/SDL_RLEaccel.c +--- a/src/video/SDL_RLEaccel.c Sat Sep 10 19:37:20 2011 -0400 ++++ b/src/video/SDL_RLEaccel.c Sat Sep 10 23:21:19 2011 -0400 +@@ -91,7 +91,8 @@ + #include "SDL_blit.h" + #include "SDL_RLEaccel_c.h" + +-#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) && SDL_ASSEMBLY_ROUTINES ++/* Force MMX to 0; this blows up on almost every major compiler now. --ryan. */ ++#if 0 && defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) && SDL_ASSEMBLY_ROUTINES + #define MMX_ASMBLIT + #endif + +diff -r 32558685a904 -r 739ad55fe50d src/video/SDL_blit_A.c +--- a/src/video/SDL_blit_A.c Sat Sep 10 19:37:20 2011 -0400 ++++ b/src/video/SDL_blit_A.c Sat Sep 10 23:21:19 2011 -0400 +@@ -32,7 +32,8 @@ + + #if SDL_ASSEMBLY_ROUTINES + # if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) +-# define MMX_ASMBLIT 1 ++ /* forced MMX to 0...it breaks on most compilers now. --ryan. */ ++# define MMX_ASMBLIT 0 + # define GCC_ASMBLIT 1 + # elif defined(_MSC_VER) && defined(_M_IX86) + # if (_MSC_VER <= 1200) + +# HG changeset patch +# User Ryan C. Gordon <iccu...@icculus.org> +# Date 1315939378 14400 +# Node ID 867c4c3604b79a810cf8ff16590001d9ef9c2824 +# Parent 614c2583703af89b3197f4fef73174ddc903eccf +Turned off the rest of the MMX code in SDL_blit_A.c. + +It also seems to blow up everywhere. + +Fixes Bugzilla #1278. + +diff -r 614c2583703a -r 867c4c3604b7 src/video/SDL_blit_A.c +--- a/src/video/SDL_blit_A.c Mon Sep 12 00:29:18 2011 -0400 ++++ b/src/video/SDL_blit_A.c Tue Sep 13 14:42:58 2011 -0400 +@@ -34,7 +34,7 @@ + # if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) + /* forced MMX to 0...it breaks on most compilers now. --ryan. */ + # define MMX_ASMBLIT 0 +-# define GCC_ASMBLIT 1 ++# define GCC_ASMBLIT 0 + # elif defined(_MSC_VER) && defined(_M_IX86) + # if (_MSC_VER <= 1200) + # include <malloc.h>