summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarinus Schraal <foser@gentoo.org>2004-04-27 12:40:39 +0000
committerMarinus Schraal <foser@gentoo.org>2004-04-27 12:40:39 +0000
commit5e269740a78a9b12d142b491b4416a5050eecbcb (patch)
tree55a511fed9022b94511173ead75aa463cc5a471a /media-libs/gstreamer/files
parentNew version (long overdue, sorry). Updated as requested in bug #40191 (diff)
downloadhistorical-5e269740a78a9b12d142b491b4416a5050eecbcb.tar.gz
historical-5e269740a78a9b12d142b491b4416a5050eecbcb.tar.bz2
historical-5e269740a78a9b12d142b491b4416a5050eecbcb.zip
add gcc 3.4 patch
Diffstat (limited to 'media-libs/gstreamer/files')
-rw-r--r--media-libs/gstreamer/files/gstreamer-0.8-unclobber_asm.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/media-libs/gstreamer/files/gstreamer-0.8-unclobber_asm.patch b/media-libs/gstreamer/files/gstreamer-0.8-unclobber_asm.patch
new file mode 100644
index 000000000000..2ad921194b5c
--- /dev/null
+++ b/media-libs/gstreamer/files/gstreamer-0.8-unclobber_asm.patch
@@ -0,0 +1,37 @@
+--- gst/gstcpu.c 2004/04/25 16:20:36 1.1
++++ gst/gstcpu.c 2004/04/25 16:21:05
+@@ -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];
+--- gst/gsttrashstack.h 2004/04/25 16:30:19 1.1
++++ gst/gsttrashstack.h 2004/04/25 16:40:43
+@@ -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"
+@@ -110,12 +111,13 @@
+ SMP_LOCK "cmpxchg8b %1; \n\t" /* if eax:edx == *stack, move ebx:ecx to *stack,
+ * 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;