diff options
author | Marinus Schraal <foser@gentoo.org> | 2004-04-27 12:40:39 +0000 |
---|---|---|
committer | Marinus Schraal <foser@gentoo.org> | 2004-04-27 12:40:39 +0000 |
commit | 5e269740a78a9b12d142b491b4416a5050eecbcb (patch) | |
tree | 55a511fed9022b94511173ead75aa463cc5a471a /media-libs/gstreamer/files | |
parent | New version (long overdue, sorry). Updated as requested in bug #40191 (diff) | |
download | historical-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.patch | 37 |
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; |