Submitted By: Jeremy Utley (jeremy@linuxfromscratch.org)
Date: 2004-05-20
Initial Package Version: 0.8.1
Upstream Status: Not Submitted
Origin: Self Created
Description: Fixes syntax issues with GCC 3.4

diff -Naur gstreamer-0.8.1/gst/gstcpu.c 
gstreamer-0.8.1-new/gst/gstcpu.c
--- gstreamer-0.8.1/gst/gstcpu.c	2004-04-15 10:44:44.000000000 +0000
+++ gstreamer-0.8.1-new/gst/gstcpu.c	2004-05-18 22:48:01.819753075 +0000
@@ -76,7 +76,7 @@
       "=o" (regs[1]),
       "=o" (regs[2]), "=o" (regs[3])
 :    "a" (x)
-:    "ebx", "ecx", "edx");
+:    "ecx", "edx");
 
   *eax = regs[0];
   *ebx = regs[1];
diff -Naur gstreamer-0.8.1/gst/gsttrashstack.h gstreamer-0.8.1-new/gst/gsttrashstack.h
--- gstreamer-0.8.1/gst/gsttrashstack.h	2004-03-15 15:08:32.000000000 +0000
+++ gstreamer-0.8.1-new/gst/gsttrashstack.h	2004-05-18 22:49:52.090272414 +0000
@@ -101,6 +101,7 @@
    * inlikely that we manage to grab the wrong head->next value.
    */
   __asm__ __volatile__ (
+    "  pushl %%ebx;             \n\t"
     "  testl %%eax, %%eax;      \n\t"	/* if (head == NULL) return */
     "  jz 20f;                  \n\t"
     "10:                        \n\t"
@@ -111,11 +112,13 @@
 					 * else *stack is moved into eax:edx again... */
     "  jnz 10b;                 \n\t"	/* ... and we retry */
     "20:                        \n"
+    "20:                        \n\t"
+    "  popl %%ebx               \n"
       : "=a" (head)
       :  "m" (*stack),
          "a" (stack->head),
          "d" (stack->count)
-      :  "ecx", "ebx"
+      :  "ecx"
   );
 
   return head;
