when emerging game-launcher, allegro is a dependency. I use the following (agressive) settings. Portage 2.0.48-r5 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1) ================================================================= System uname: 2.4.21 i686 Intel(R) Pentium(R) M processor 1300MHz GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo http://gentoo.oregonstate.edu/ http://www.ibiblio.org/pub/Linux/distributions/gentoo" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/usr/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="" USE="x86 oss avi crypt cups encode foomaticdb gif jpeg libg++ mad mikmod mmx mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv zlib directfb alsa gdbm slang readline tetex aalib nas svga tcltk java X sdl gpm tcpd pam libwww ssl perl python esd imlib oggvorbis gnome gtk qt kde motif opengl ldap cdr aavm acl acpi acpi4linux altcolors altivec amd apache2 ardour-ksi canna chasen cjk clamav curl dedicated dga dnd dvd emacs ethereal faad fbcon fbdev flash foreign-package foreign-sysvinit freewnn ggi gphoto2 gtk2 gtkhtml hbci icc icc-pgo imap jikes junit kakasi kerberos lcms leim libgda maildir mbox mcal mng mpi mule mupad-noscilab music nhc98 oav objc ofx openal pcmcia pic plotutils pnp qhull ruby samba sasl scanner slp snmp socks5 sox sse tiff trusted type1 wavelan wmf wxwindows Xaw3d xface xinerama xosd xvid -3dnow -apm -berkdb -arts" COMPILER="gcc3" CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O3 -pipe -mfpmath=sse,387 -mmmx -msse -msse2 -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-loop-opt -frerun-cse-after-loop -falign-functions=4 -fprefetch-loop-arrays -fexpensive-optimizations" CXXFLAGS="-march=pentium4 -O3 -pipe -mfpmath=sse,387 -mmmx -msse -msse2 -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-loop-opt -frerun-cse-after-loop -falign-functions=4 -fprefetch-loop-arrays -fexpensive-optimizations" ACCEPT_KEYWORDS="x86" MAKEOPTS="-j2" AUTOCLEAN="yes" SYNC="rsync://rsync.gentoo.org/gentoo-portage" FEATURES="sandbox ccache" then I get ... gcc -DHAVE_CONFIG_H -Iinclude -Iinclude/allegro -I./include -I./include/allegro -I. -I/usr/X11R6/include -DALLEGRO_LIB_BUILD -mcpu=pentium -O2 -funroll-loops -ffast-math -fomit-frame-pointer -Wall -Wno-unused -march=pentium4 -O3 -pipe -mfpmath=sse,387 -mmmx -msse -msse2 -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-loop-opt -frerun-cse-after-loop -falign-functions=4 -fprefetch-loop-arrays -fexpensive-optimizations -fPIC -DALLEGRO_SHARED -march=pentium4 -O3 -pipe -mfpmath=sse,387 -mmmx -msse -msse2 -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-loop-opt -frerun-cse-after-loop -falign-functions=4 -fprefetch-loop-arrays -fexpensive-optimizations -c ./src/allegro.c -o obj/unix/shared/alleg/allegro.o src/allegro.c: In function `install_allegro': src/allegro.c:366: internal error: Gleitkomma-Ausnahme Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://bugs.gentoo.org/> for instructions. make: *** [obj/unix/shared/alleg/allegro.o] Fehler 1 !!! ERROR: media-libs/allegro-4.0.3 failed. !!! Function src_compile, Line 52, Exitcode 2 !!! (no error message) Reproducible: Always Steps to Reproduce: 1.(set CFLAGS and useflags as I did) 2.emerge game-launcher 3. Actual Results: See above Expected Results: compile
conservative CFLAGS, namely just "-mcpu pentium3" fix the problem.
from make.conf # CRITICAL WARNINGS: ****************************************************** # # ATHLON-4 will generate invalid SSE instructions; use 'athlon' instead. # # PENTIUM4 will generate invalid SSE2 instructions; use 'pentium3' instead. # # ************************************************************************* #
I was intrigued by this bug report and tried to compile allegro with the same optimizations as Stefan. With little surprise it failed. However removing -fprefetch-loop-arrays it compiled wonderfully. Maybe we could filter -fprefetch-loop-arrays. :)
*** Bug 26844 has been marked as a duplicate of this bug. ***
I can confirm that simply removing -fprefetch-loop-arrays from the CFLAGS solves the problem.
added to cvs, thanks guys :)
not fixed ... this has nothing to do with the prefetch flag :) btw, azarah is *the* man http://bugs.gentoo.org/show_bug.cgi?id=25461#c6
*now* it's fixed in cvs :) sed -i '/TARGET_ARCH=/s:=.*:=:' configure