]> git.pld-linux.org Git - packages/SDL.git/commitdiff
- added mmx-constraints patch: use strict contraints for MMX inline asm auto/ac/SDL-1_2_6-3
authorJakub Bogusz <qboosh@pld-linux.org>
Sun, 9 Nov 2003 13:58:49 +0000 (13:58 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
  arguments - now it's possible to build with new gcc
- added workaround for automake to kill unnecessary libstdc++ dependency
- release 3

Changed files:
    SDL-mmx-constraints.patch -> 1.1
    SDL.spec -> 1.118

SDL-mmx-constraints.patch [new file with mode: 0644]
SDL.spec

diff --git a/SDL-mmx-constraints.patch b/SDL-mmx-constraints.patch
new file mode 100644 (file)
index 0000000..e4dc8e3
--- /dev/null
@@ -0,0 +1,208 @@
+--- SDL-1.2.6/src/video/mmx.h.orig     2003-08-22 07:51:19.000000000 +0200
++++ SDL-1.2.6/src/video/mmx.h  2003-11-09 13:49:35.270218296 +0100
+@@ -246,15 +246,37 @@
+               printf(#op "_i2r(" #imm "=0x%08x%08x, ", \
+                       mmx_trace.d[1], mmx_trace.d[0]); \
+               __asm__ __volatile__ ("movq %%" #reg ", %0" \
+-                                    : "=X" (mmx_trace) \
++                                    : "=m" (mmx_trace) \
+                                     : /* nothing */ ); \
+               printf(#reg "=0x%08x%08x) => ", \
+                       mmx_trace.d[1], mmx_trace.d[0]); \
+               __asm__ __volatile__ (#op " %0, %%" #reg \
+                                     : /* nothing */ \
+-                                    : "X" (imm)); \
++                                    : "i" (imm)); \
+               __asm__ __volatile__ ("movq %%" #reg ", %0" \
+-                                    : "=X" (mmx_trace) \
++                                    : "=m" (mmx_trace) \
++                                    : /* nothing */ ); \
++              printf(#reg "=0x%08x%08x\n", \
++                      mmx_trace.d[1], mmx_trace.d[0]); \
++      }
++
++/* 32 bits or less */
++#define       mmx_m2r32(op, mem, reg) \
++      { \
++              mmx_t mmx_trace; \
++              mmx_trace = (mem); \
++              printf(#op "_m2r(" #mem "=0x%08x%08x, ", \
++                      mmx_trace.d[1], mmx_trace.d[0]); \
++              __asm__ __volatile__ ("movq %%" #reg ", %0" \
++                                    : "=m" (mmx_trace) \
++                                    : /* nothing */ ); \
++              printf(#reg "=0x%08x%08x) => ", \
++                      mmx_trace.d[1], mmx_trace.d[0]); \
++              __asm__ __volatile__ (#op " %0, %%" #reg \
++                                    : /* nothing */ \
++                                    : "mr" (mem)); \
++              __asm__ __volatile__ ("movq %%" #reg ", %0" \
++                                    : "=m" (mmx_trace) \
+                                     : /* nothing */ ); \
+               printf(#reg "=0x%08x%08x\n", \
+                       mmx_trace.d[1], mmx_trace.d[0]); \
+@@ -267,25 +289,45 @@
+               printf(#op "_m2r(" #mem "=0x%08x%08x, ", \
+                       mmx_trace.d[1], mmx_trace.d[0]); \
+               __asm__ __volatile__ ("movq %%" #reg ", %0" \
+-                                    : "=X" (mmx_trace) \
++                                    : "=m" (mmx_trace) \
+                                     : /* nothing */ ); \
+               printf(#reg "=0x%08x%08x) => ", \
+                       mmx_trace.d[1], mmx_trace.d[0]); \
+               __asm__ __volatile__ (#op " %0, %%" #reg \
+                                     : /* nothing */ \
+-                                    : "X" (mem)); \
++                                    : "m" (mem)); \
+               __asm__ __volatile__ ("movq %%" #reg ", %0" \
+-                                    : "=X" (mmx_trace) \
++                                    : "=m" (mmx_trace) \
+                                     : /* nothing */ ); \
+               printf(#reg "=0x%08x%08x\n", \
+                       mmx_trace.d[1], mmx_trace.d[0]); \
+       }
++/* 32 bits or less */
++#define       mmx_r2m32(op, reg, mem) \
++      { \
++              mmx_t mmx_trace; \
++              __asm__ __volatile__ ("movq %%" #reg ", %0" \
++                                    : "=m" (mmx_trace) \
++                                    : /* nothing */ ); \
++              printf(#op "_r2m(" #reg "=0x%08x%08x, ", \
++                      mmx_trace.d[1], mmx_trace.d[0]); \
++              mmx_trace = (mem); \
++              printf(#mem "=0x%08x%08x) => ", \
++                      mmx_trace.d[1], mmx_trace.d[0]); \
++              __asm__ __volatile__ (#op " %%" #reg ", %0" \
++                                    : "=mr" (mem) \
++                                    : /* nothing */ ); \
++              mmx_trace = (mem); \
++              printf(#mem "=0x%08x%08x\n", \
++                      mmx_trace.d[1], mmx_trace.d[0]); \
++      }
++
+ #define       mmx_r2m(op, reg, mem) \
+       { \
+               mmx_t mmx_trace; \
+               __asm__ __volatile__ ("movq %%" #reg ", %0" \
+-                                    : "=X" (mmx_trace) \
++                                    : "=m" (mmx_trace) \
+                                     : /* nothing */ ); \
+               printf(#op "_r2m(" #reg "=0x%08x%08x, ", \
+                       mmx_trace.d[1], mmx_trace.d[0]); \
+@@ -293,7 +335,7 @@
+               printf(#mem "=0x%08x%08x) => ", \
+                       mmx_trace.d[1], mmx_trace.d[0]); \
+               __asm__ __volatile__ (#op " %%" #reg ", %0" \
+-                                    : "=X" (mem) \
++                                    : "=m" (mem) \
+                                     : /* nothing */ ); \
+               mmx_trace = (mem); \
+               printf(#mem "=0x%08x%08x\n", \
+@@ -304,18 +346,18 @@
+       { \
+               mmx_t mmx_trace; \
+               __asm__ __volatile__ ("movq %%" #regs ", %0" \
+-                                    : "=X" (mmx_trace) \
++                                    : "=m" (mmx_trace) \
+                                     : /* nothing */ ); \
+               printf(#op "_r2r(" #regs "=0x%08x%08x, ", \
+                       mmx_trace.d[1], mmx_trace.d[0]); \
+               __asm__ __volatile__ ("movq %%" #regd ", %0" \
+-                                    : "=X" (mmx_trace) \
++                                    : "=m" (mmx_trace) \
+                                     : /* nothing */ ); \
+               printf(#regd "=0x%08x%08x) => ", \
+                       mmx_trace.d[1], mmx_trace.d[0]); \
+               __asm__ __volatile__ (#op " %" #regs ", %" #regd); \
+               __asm__ __volatile__ ("movq %%" #regd ", %0" \
+-                                    : "=X" (mmx_trace) \
++                                    : "=m" (mmx_trace) \
+                                     : /* nothing */ ); \
+               printf(#regd "=0x%08x%08x\n", \
+                       mmx_trace.d[1], mmx_trace.d[0]); \
+@@ -333,8 +375,8 @@
+               __asm__ __volatile__ ("movq %0, %%mm0\n\t" \
+                                     #op " %1, %%mm0\n\t" \
+                                     "movq %%mm0, %0" \
+-                                    : "=X" (memd) \
+-                                    : "X" (mems)); \
++                                    : "=my" (memd) \
++                                    : "my" (mems)); \
+               mmx_trace = (memd); \
+               printf(#memd "=0x%08x%08x\n", \
+                       mmx_trace.d[1], mmx_trace.d[0]); \
+@@ -348,16 +390,28 @@
+ #define       mmx_i2r(op, imm, reg) \
+       __asm__ __volatile__ (#op " %0, %%" #reg \
+                             : /* nothing */ \
+-                            : "X" (imm) )
++                            : "i" (imm) )
++
++/* 32 bits or less */
++#define       mmx_m2r32(op, mem, reg) \
++      __asm__ __volatile__ (#op " %0, %%" #reg \
++                            : /* nothing */ \
++                            : "mr" (mem))
+ #define       mmx_m2r(op, mem, reg) \
+       __asm__ __volatile__ (#op " %0, %%" #reg \
+                             : /* nothing */ \
+-                            : "X" (mem))
++                            : "m" (mem))
++
++/* 32 bits or less */
++#define       mmx_r2m32(op, reg, mem) \
++      __asm__ __volatile__ (#op " %%" #reg ", %0" \
++                            : "=mr" (mem) \
++                            : /* nothing */ )
+ #define       mmx_r2m(op, reg, mem) \
+       __asm__ __volatile__ (#op " %%" #reg ", %0" \
+-                            : "=X" (mem) \
++                            : "=m" (mem) \
+                             : /* nothing */ )
+ #define       mmx_r2r(op, regs, regd) \
+@@ -367,8 +421,8 @@
+       __asm__ __volatile__ ("movq %0, %%mm0\n\t" \
+                             #op " %1, %%mm0\n\t" \
+                             "movq %%mm0, %0" \
+-                            : "=X" (memd) \
+-                            : "X" (mems))
++                            : "=my" (memd) \
++                            : "my" (mems))
+ #endif
+@@ -383,8 +437,8 @@
+ #define       movq(vars, vard) \
+       __asm__ __volatile__ ("movq %1, %%mm0\n\t" \
+                             "movq %%mm0, %0" \
+-                            : "=X" (vard) \
+-                            : "X" (vars))
++                            : "=my" (vard) \
++                            : "my" (vars))
+ /*    1x32 MOVe Doubleword
+@@ -392,14 +446,14 @@
+        but is most useful for moving things between
+        mmx registers and ordinary registers)
+ */
+-#define       movd_m2r(var, reg)      mmx_m2r(movd, var, reg)
+-#define       movd_r2m(reg, var)      mmx_r2m(movd, reg, var)
++#define       movd_m2r(var, reg)      mmx_m2r32(movd, var, reg)
++#define       movd_r2m(reg, var)      mmx_r2m32(movd, reg, var)
+ #define       movd_r2r(regs, regd)    mmx_r2r(movd, regs, regd)
+ #define       movd(vars, vard) \
+       __asm__ __volatile__ ("movd %1, %%mm0\n\t" \
+                             "movd %%mm0, %0" \
+-                            : "=X" (vard) \
+-                            : "X" (vars))
++                            : "=mr" (vard) \
++                            : "mr" (vars))
+ /*    2x32, 4x16, and 8x8 Parallel ADDs
index c126e113f9f2dd390d3968da4d7f4d8199c32aae..c1b618a67efca433b223a5c594834da14f9f3605 100644 (file)
--- a/SDL.spec
+++ b/SDL.spec
@@ -18,7 +18,7 @@ Summary(uk):  Simple DirectMedia Layer
 Summary(zh_CN):        SDL (Simple DirectMedia Layer) Generic APIs - ÓÎÏ·/¶àýÌå¿â
 Name:          SDL
 Version:       1.2.6
-Release:       2
+Release:       3
 License:       LGPL
 Group:         X11/Libraries
 Source0:       http://www.libsdl.org/release/%{name}-%{version}.tar.gz
@@ -30,9 +30,7 @@ Patch3:               %{name}-lpthread.patch
 Patch4:                %{name}-no_rpath_in_sdl-config.patch
 Patch5:                %{name}-lt15.patch
 Patch6:                %{name}-dlopen-acfix.patch
-#Patch4:               %{name}-ac25x.patch
-#Patch6:               %{name}-noobjc.patch
-#Patch7:               %{name}-am17.patch
+Patch7:                %{name}-mmx-constraints.patch
 URL:           http://www.libsdl.org/
 %{?with_directfb:BuildRequires:        DirectFB-devel >= 0.9.15}
 BuildRequires: OpenGL-devel
@@ -156,6 +154,7 @@ SDL - przyk
 %patch4 -p1
 %patch5 -p1
 %patch6 -p1
+%patch7 -p1
 
 # get COPY_ARCH_SRC, remove the rest
 head -n 16 acinclude.m4 > acinclude.tmp
@@ -194,7 +193,10 @@ rm -f missing libtool
        %{!?with_esd:--disable-esd} \
        %{!?with_nas:--disable-nas}
 
-%{__make}
+# automake chooses to use CXXLINK because of seen unused C++ sources
+# (which are for BeOS and MacOS+QTopia, not Linux)
+%{__make} \
+       CXXLINK="\$(LINK)"
 
 %install
 rm -rf $RPM_BUILD_ROOT
This page took 0.103897 seconds and 4 git commands to generate.