+++ /dev/null
-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