[MPlayer-dev-eng] [PATCHS] assembly bugs

Thierry Vignaud tvignaud at mandrakesoft.com
Mon Jan 28 17:50:19 CET 2002


First, note that i'm not subscribed to your mls, so please, keep me in Cc: when
replying.


i dailly build rpm since last september with gcc-2.96 and gcc-3.0.3. i've
problems compiling it at -O3 with gcc-3.0.3 because of various pbs (one was bugs
in register renaming at -O3 which we've disabled this week in cooker).

\enter_troll_mode{ remember the flaming about gcc-2.96 which did be able to
compile mplayer ? }

but others came from mplayer coders.
ex:

tv at vador BUILD/mplayer/linux $ gcc-3.0.3 -c -Djpeg_fdct_ifast=jpeg_fdct_ifast2  -O3 -fomit-frame-pointer -pipe -mcpu=pentiumpro -march=i686 -ffast-math -fno-strength-reduce -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -I. -I.. -Wall -o vbelib.o vbelib.c
{standard input}: Assembler messages:
{standard input}:545: Error: suffix or operands invalid for `setnz'

1) setcc takes a 8-bit constraint register "q" ([a-z] register)
2) a clobber is lacked on condition codes ("cc") because of "xorl"


here is mplayer-asmfix.patch:

--- mplayer/linux/vbelib.c.asmfix	Tue Nov 20 08:55:34 2001
+++ mplayer/linux/vbelib.c	Fri Jan 25 18:20:21 2002
@@ -30,9 +30,9 @@
 	"xorl	%0, %0\n\t"
 	"verr	%1\n\t"
 	"setnz	%b0"
-	:"=r"(retval)
+	:"=q"(retval)
 	:"m"(*(unsigned char *)p)
-	:"memory");
+	:"memory", "cc");
   return retval;
 }

Thanks.

-- 
The fact that it takes more code to parse and interpret ACPI than it does to
route traffic on the internet backbones should be a hint something is badly
wrong either in ACPI the spec, ACPI the implementation or both.
	-- Alan Cox, 3 Jul 2001 --




More information about the MPlayer-dev-eng mailing list