I'm trying to update mplayer. I'm getting the error below. I have also tried with gcc 3.3 and with USE="-*", same result. Reproducible: Always Steps to Reproduce: 1. emerge -u mplayer 2. 3. Actual Results: cc -I../libvo -I../../libvo -I/usr/X11R6/include -fno-PIC -march=athlon-xp -pipe -g -frename-registers -fno-pie -fno-pie -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o libpostproc/postprocess.o libpostproc/postprocess.c In file included from libpostproc/postprocess.c:655: libpostproc/postprocess_template.c: In function `postProcess_MMX2': libpostproc/postprocess_template.c:2901: warning: use of memory input without lvalue in asm operand 4 is deprecated libpostproc/postprocess_template.c:2901: warning: use of memory input without lvalue in asm operand 4 is deprecated libpostproc/postprocess_template.c: In function `dering_MMX2': libpostproc/postprocess_template.c:1186: error: can't find a register in class `GENERAL_REGS' while reloading `asm' make[1]: *** [libpostproc/postprocess.o] Error 1 make[1]: Leaving directory `/home/tmp/portage/mplayer-1.0_pre6/work/MPlayer-1.0pre6a/libavcodec' make: *** [libavcodec/libavcodec.a] Error 2 !!! ERROR: media-video/mplayer-1.0_pre6 failed. !!! Function src_compile, Line 465, Exitcode 2 !!! Failed to build MPlayer! Expected Results: no errors :) # emerge info Portage 2.0.51-r15 (default-linux/x86/2005.0, gcc-3.4.3-20050110, glibc-2.3.4.20050125-r0, 2.6.10-gentoo-r7 i686) ================================================================= System uname: 2.6.10-gentoo-r7 i686 AMD Athlon(tm) XP 1800+ Gentoo Base System version 1.6.9 Python: dev-lang/python-2.3.5 [2.3.5 (#1, Feb 19 2005, 10:23:28)] distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.3.5 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.4_p6, 1.5, 1.9.4, 1.7.9-r1, 1.6.3, 1.8.5-r3 sys-devel/binutils: 2.15.92.0.2-r3 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -pipe -fomit-frame-pointer -fforce-addr -g " CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-xp -pipe -fomit-frame-pointer -fforce-addr -g " DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig candy ccache distlocks nostrip sandbox sfperms" GENTOO_MIRRORS="ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo/ http://mirror.gentoo.no// ftp://ftp.du.se/pub/os/gentoo/ http://ftp.du.se/pub/os/gentoo http://gentoo.osuosl.org/" MAKEOPTS="-j1" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/home/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 3dnow X aalib acpi alsa apache2 apm avi bash-completion berkdb bitmap-fonts bonobo cdparanoia cdr crypt cups curl dba dga directfb dvd emboss encode esd evo f77 fam flac flash foomaticdb fortran gb gd gdbm gif gnome gnomedb gpm gstreamer gtk gtk2 gtkhtml guile imagemagick imap imlib imlib2 java jpeg junit kde ldap libg++ libgda libwww mad mbox mcal mikmod mmx mmx2 motif mozilla mpeg mysql nas ncurses nls nptl oggvorbis opengl oss pam pdflib perl plotutils png postgres ppds python qt quicktime readline ruby samba scanner sdl slang slp spell sqlite sse ssl svga tcltk tcpd tiff truetype truetype-fonts type1-fonts unicode usb wmf xface xml xml2 xmms xv zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS
dump -fforce-addr -g
Tried CFLAGS="-march=athlon-xp -pipe -fomit-frame-pointer" emerge -u mplayer Same result :(
try adding -O2
CFLAGS="-march=athlon-xp -pipe -fomit-frame-pointer -O2" emerge -u mplayer worked! Perhaps even more CFLAGS flitering is needed?
at least -O1 is required to have gcc produce a working code. Known issue
Then the ebuild should ensure that at least -O1 is used when compiling
EVERY code produced by gcc-3.xx