--- gstreamer-0.8.3/gst/gstcpu.c	2004-05-24 09:12:24.000000000 -0700
+++ gstreamer-0.8.3.new/gst/gstcpu.c	2004-06-10 09:42:38.987343888 -0700
@@ -67,21 +67,21 @@
 gst_cpuid_i386 (int x, unsigned long *eax, unsigned long *ebx,
     unsigned long *ecx, unsigned long *edx)
 {
-  unsigned long regs[4];
+  unsigned long regs[5];
 
   asm (
       /* GCC-3.2 (and possibly others) don't clobber ebx properly,
        * so we save/restore it directly. */
-"  pushl %%ebx\n" "  cpuid\n" "  movl %%eax, %0\n" "  movl %%ebx, %1\n" "  movl %%ecx, %2\n" "  movl %%edx, %3\n" "  popl %%ebx\n":"=o" (regs[0]),
-      "=o" (regs[1]),
-      "=o" (regs[2]), "=o" (regs[3])
+"  pushl %%ebx\n" "  cpuid\n" "  movl %%eax, %0\n" "  movl %%ebx, %1\n" "  movl %%ecx, %2\n" "  movl %%edx, %3\n" "  popl %%ebx\n":"=o" (regs[1]),
+      "=o" (regs[2]),
+      "=o" (regs[3]), "=o" (regs[4])
 :    "a" (x)
 :    "ecx", "edx");
 
-  *eax = regs[0];
-  *ebx = regs[1];
-  *ecx = regs[2];
-  *edx = regs[3];
+  *eax = regs[1];
+  *ebx = regs[2];
+  *ecx = regs[3];
+  *edx = regs[4];
 }
 
 gboolean
