]> git.pld-linux.org Git - packages/scummvm.git/commitdiff
- fix pic auto/ac/scummvm-0_7_1-1
authorwolf <wolf@pld-linux.org>
Tue, 29 Mar 2005 10:58:43 +0000 (10:58 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    scummvm-asm.patch -> 1.1

scummvm-asm.patch [new file with mode: 0644]

diff --git a/scummvm-asm.patch b/scummvm-asm.patch
new file mode 100644 (file)
index 0000000..7bdb0bd
--- /dev/null
@@ -0,0 +1,108 @@
+diff -ruN scummvm-0.7.1./backends/midi/mt32/i386.cpp scummvm-0.7.1/backends/midi/mt32/i386.cpp
+--- scummvm-0.7.1./backends/midi/mt32/i386.cpp 2004-11-14 05:13:14.000000000 +0100
++++ scummvm-0.7.1/backends/midi/mt32/i386.cpp  2005-03-29 02:25:25.897230560 +0200
+@@ -55,10 +55,20 @@
+       /* check cpuid */
+       __asm__ __volatile__(
++#ifdef __PIC__
++              "pushl  %%ebx            \n"
++#endif
+               "movl   $1, %%eax        \n" \
+               "cpuid                   \n" \
+-              "movl   %%edx, %0        \n" \
+-              : "=r"(result) : : "eax", "ebx", "ecx", "edx");
++              "movl   %%edx, %0        \n"
++#ifdef __PIC__
++              "popl   %%ebx            \n"
++#endif
++              : "=r"(result) : : "eax", "ecx", "edx"
++#ifndef __PIC__
++              , "ebx"
++#endif
++              );
+       if (result & (1 << 25))
+               return true;
+@@ -74,10 +84,21 @@
+       // get cpuid
+       __asm__ __volatile__(
++#ifdef __PIC__
++              "pushl  %%ebx              \n"
++#endif
+               "movl   $0x80000001, %%eax \n" \
+               "cpuid                     \n" \
+-              "movl   %%edx, %0          \n" \
+-              : "=r"(result) : : "eax", "ebx", "ecx", "edx");
++              "movl   %%edx, %0          \n"
++#ifdef __PIC__
++              "popl   %%ebx              \n"
++#endif
++              : "=r"(result) : : "eax", "ecx", "edx"
++#ifndef __PIC__
++              , "ebx"
++#endif
++
++              );
+       if (result & 0x80000000)
+               return true;
+@@ -148,6 +169,9 @@
+       float tmp;
+       __asm__ __volatile__ (
++#ifdef __PIC__
++              "pushl %%ebx          \n"
++#endif
+               "movq %0, %%mm1       \n" \
+               "                     \n" \
+               "movl  %1, %%ebx      \n" \
+@@ -208,9 +232,16 @@
+               "movd %%mm3, 4(%%eax) \n" \
+               "                     \n" \
+               "movd %%mm1, %0       \n" \
+-              "femms                \n" \
++              "femms                \n"
++#ifdef __PIC__
++              "popl %%ebx           \n"
++#endif
+               : "=m"(output) : "g"(coef_ptr), "g"(hist1_ptr), "m"(tmp)
+-              : "eax", "ebx", "mm1", "mm2", "mm3", "memory");
++              : "eax", "mm1", "mm2", "mm3", "memory"
++#ifndef __PIC__
++              , "ebx"
++#endif
++              );
+       return output;
+ }
+@@ -349,6 +380,9 @@
+ static inline void atti386_partialProductOutput(int quadlen, Bit16s leftvol, Bit16s rightvol, Bit16s *partialBuf, Bit16s *p1buf) {
+       __asm__ __volatile__(
++#ifdef __PIC__
++              "pushl %%ebx          \n"
++#endif
+               "movl %0, %%ecx       \n" \
+               "movw %1, %%ax        \n" \
+               "shll $16, %%eax      \n" \
+@@ -383,9 +417,16 @@
+               "decl %%ecx           \n" \
+               "cmpl $0, %%ecx       \n" \
+               "jg 1b                \n" \
+-              "emms                 \n"  \
++              "emms                 \n"
++#ifdef __PIC__
++              "popl %%ebx           \n"
++#endif
+               : : "g"(quadlen), "g"(leftvol), "g"(rightvol), "g"(partialBuf), "g"(p1buf)
+-              : "eax", "ebx", "ecx", "edx", "edi", "esi", "mm1", "mm2", "mm3", "memory");
++              : "eax", "ecx", "edx", "edi", "esi", "mm1", "mm2", "mm3", "memory"
++#ifndef __PIC__
++              , "ebx"
++#endif
++              );
+ }
+ #endif
This page took 0.157229 seconds and 4 git commands to generate.