h264dsp_mmx.c: In function 'h264_h_loop_filter_luma_mmx2': dsputil_mmx.c:621: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm' make[8]: *** [libmmxsse_la-dsputil_mmx.lo] Error 1 CFLAGS="-march=athlon-xp -O2 -fomit-frame-pointer -finline-functions -pipe" removing -finline-functions and leaving the rest of the CFLAGS compiles emerge --info Portage 2.1.1 (default-linux/x86/2006.1/desktop, gcc-4.1.1, glibc-2.4-r3, 2.6.17-gentoo-r7 i686) ================================================================= System uname: 2.6.17-gentoo-r7 i686 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System version 1.12.4 Last Sync: Mon, 11 Sep 2006 16:30:06 +0000 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] app-admin/eselect-compiler: [Not Present] dev-lang/python: 2.3.5-r2, 2.4.3-r1 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: [Not Present] dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.13-r3 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r5 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon-xp -O2 -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib/mozilla/defaults/pref /usr/share/X11/xkb /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-march=athlon-xp -O2 -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="http://mirror.tucdemonic.org/gentoo/ http://open-systems.ufl.edu/mirrors/gentoo http://gentoo.ccccom.com" LINGUAS="" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/overlays" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow 3dnowext X a52 aac acpi alsa apache2 avi bitmap-fonts cairo cdr cli crypt cups dbus dga directfb dlloader doc dri dvd dvdr eds elibc_glibc emboss encode esd extras fam fbcon firefox fortran gdbm gif gimpprint gnome gpm gstreamer gtk hal icq imap input_devices_evdev input_devices_keyboard input_devices_mouse isdnlog java jikes jpeg kernel_linux lame ldap libg++ mad mbox mikmod mjpeg mmx mp3 mp4live mpeg mpeg2 msn mysql ncurses nls nptl nptlonly nvidia ogg openal opengl oscar oss pam pcre pdflib perl player png pnp postgres ppds pppd python qt3 qt4 quicktime readline reflection samba sdl session spell spl sse sse2 ssl stream tcpd truetype truetype-fonts type1-fonts udev unicode usb userland_GNU v4l v4l2 video_cards_nvidia videos vorbis win32codecs wxwindows x264 x86 xml xmms xorg xv xvid yahoo zlib" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS
So don't use the flag. ;)
Default recommendation in make.conf.example #CFLAGS="-mcpu=athlon-xp -O3 -pipe" Haven't tested to verify same behavior, but -finline-functions is in -O3. Didn't trust what might be added to -O3 for future gcc, so -O2 has been used with safe additions from -O3 (or inline functions should be safe).
This is basically a dupe of Bug 104966. Anyway; considering there's replace-flags -O3 -O2 in the ebuild, noone will hit such stuff unless you explicitely stick -finline-functions to CFLAGS. So, either don't do it, or attach a patch. http://www.gentoo.org/doc/en/gcc-optimization.xml#doc_chap3