Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 104437 - libsdl-1.2.9 fails to build with gcc-4
Summary: libsdl-1.2.9 fails to build with gcc-4
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GCC Porting (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo Games
URL:
Whiteboard:
Keywords:
: 105547 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-08-31 17:44 UTC by Captain Sifff
Modified: 2005-09-29 02:47 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
SDL_yuv_mmx.patch (SDL_yuv_mmx.patch,14.18 KB, patch)
2005-09-22 23:41 UTC, Harald van Dijk (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Captain Sifff 2005-08-31 17:44:45 UTC
libsdl-1.2.9 fails to build on gcc-4.0.1 due to Aliases. As far as I can tell  
this is a gcc-4.0.0 related Problem. 
Compiler-Output: 
 i686-pc-linux-gnu-gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" 
-DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" 
-DPACKAGE=\"SDL\" -DVERSION=\"1.2.9\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 
-DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 
-DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 
-DHAVE_DLFCN_H=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_LIBASOUND=1 -I. -I. 
-pipe -O2 -march=athlon-xp -m32 -mtune=athlon-xp -Wall -DENABLE_DUMMYVIDEO 
-DDISKAUD_SUPPORT -DUSE_DLOPEN -DUSE_ASMBLIT -I./hermes -I../../src/hermes 
-DOSS_SUPPORT -DALSA_SUPPORT -DALSA_DYNAMIC=libasound.so.2 -DUSE_DLVSYM 
-DARTSC_SUPPORT -DARTSC_DYNAMIC=libartsc.so.0 -I/usr/kde/3.4/include/artsc 
-pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DENABLE_X11 
-DXTHREADS -I./include -I./src/video -DXFREE86_VM -DXFREE86_VMGAMMA 
-DXFREE86_DGAMOUSE -DDEFAULT_DGAMOUSE -DXFREE86_XV -Isrc/video -DENABLE_DGA 
-DHAVE_OPENGL -DUSE_INPUT_EVENTS -D_REENTRANT -DSDL_USE_PTHREADS 
-DHAVE_SIGACTION -DHAVE_LINUX_VERSION_H -I../../include -I../../include/SDL 
-I../../src -I../../src/main/linux -I../../src/audio -I../../src/video 
-I../../src/video/XFree86/extensions -I../../src/events -I../../src/joystick 
-I../../src/cdrom -I../../src/thread -I../../src/timer -I../../src/endian 
-I../../src/file -I../../src/thread -c SDL_blit_N.c  -fPIC -DPIC 
-o .libs/SDL_blit_N.o 
../../src/hermes/HeadMMX.h:53: error: 'ConvertMMX' aliased to undefined symbol 
'_ConvertMMX' 
../../src/hermes/HeadMMX.h:63: error: 'ConvertMMXpII32_24RGB888' aliased to 
undefined symbol '_ConvertMMXpII32_24RGB888' 
../../src/hermes/HeadMMX.h:64: error: 'ConvertMMXpII32_16RGB565' aliased to 
undefined symbol '_ConvertMMXpII32_16RGB565' 
../../src/hermes/HeadMMX.h:65: error: 'ConvertMMXpII32_16BGR565' aliased to 
undefined symbol '_ConvertMMXpII32_16BGR565' 
../../src/hermes/HeadMMX.h:66: error: 'ConvertMMXpII32_16RGB555' aliased to 
undefined symbol '_ConvertMMXpII32_16RGB555' 
../../src/hermes/HeadMMX.h:67: error: 'ConvertMMXpII32_16BGR555' aliased to 
undefined symbol '_ConvertMMXpII32_16BGR555' 
../../src/hermes/HeadX86.h:82: error: 'Hermes_X86_CPU' aliased to undefined 
symbol '_Hermes_X86_CPU' 
../../src/hermes/HeadX86.h:84: error: 'ConvertX86' aliased to undefined symbol 
'_ConvertX86' 
../../src/hermes/HeadX86.h:93: error: 'ConvertX86p32_32BGR888' aliased to 
undefined symbol '_ConvertX86p32_32BGR888' 
../../src/hermes/HeadX86.h:94: error: 'ConvertX86p32_32RGBA888' aliased to 
undefined symbol '_ConvertX86p32_32RGBA888' 
../../src/hermes/HeadX86.h:95: error: 'ConvertX86p32_32BGRA888' aliased to 
undefined symbol '_ConvertX86p32_32BGRA888' 
../../src/hermes/HeadX86.h:96: error: 'ConvertX86p32_24RGB888' aliased to 
undefined symbol '_ConvertX86p32_24RGB888' 
../../src/hermes/HeadX86.h:97: error: 'ConvertX86p32_24BGR888' aliased to 
undefined symbol '_ConvertX86p32_24BGR888' 
../../src/hermes/HeadX86.h:98: error: 'ConvertX86p32_16RGB565' aliased to 
undefined symbol '_ConvertX86p32_16RGB565' 
../../src/hermes/HeadX86.h:99: error: 'ConvertX86p32_16BGR565' aliased to 
undefined symbol '_ConvertX86p32_16BGR565' 
../../src/hermes/HeadX86.h:100: error: 'ConvertX86p32_16RGB555' aliased to 
undefined symbol '_ConvertX86p32_16RGB555' 
../../src/hermes/HeadX86.h:101: error: 'ConvertX86p32_16BGR555' aliased to 
undefined symbol '_ConvertX86p32_16BGR555' 
../../src/hermes/HeadX86.h:102: error: 'ConvertX86p32_8RGB332' aliased to 
undefined symbol '_ConvertX86p32_8RGB332' 
../../src/hermes/HeadX86.h:112: error: 'ConvertX86p16_16BGR565' aliased to 
undefined symbol '_ConvertX86p16_16BGR565' 
../../src/hermes/HeadX86.h:113: error: 'ConvertX86p16_16RGB555' aliased to 
undefined symbol '_ConvertX86p16_16RGB555' 
../../src/hermes/HeadX86.h:114: error: 'ConvertX86p16_16BGR555' aliased to 
undefined symbol '_ConvertX86p16_16BGR555' 
../../src/hermes/HeadX86.h:115: error: 'ConvertX86p16_8RGB332' aliased to 
undefined symbol '_ConvertX86p16_8RGB332' 
make[3]: *** [SDL_blit_N.lo] Error 1 
 

Reproducible: Always
Steps to Reproduce:
1.Install gcc4 
2.Compile libsdl-1.2.9 
3.wait for Failure 
 
Actual Results:  
Compiler-Output: 
 i686-pc-linux-gnu-gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" 
-DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" 
-DPACKAGE=\"SDL\" -DVERSION=\"1.2.9\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 
-DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 
-DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 
-DHAVE_DLFCN_H=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_LIBASOUND=1 -I. -I. 
-pipe -O2 -march=athlon-xp -m32 -mtune=athlon-xp -Wall -DENABLE_DUMMYVIDEO 
-DDISKAUD_SUPPORT -DUSE_DLOPEN -DUSE_ASMBLIT -I./hermes -I../../src/hermes 
-DOSS_SUPPORT -DALSA_SUPPORT -DALSA_DYNAMIC=libasound.so.2 -DUSE_DLVSYM 
-DARTSC_SUPPORT -DARTSC_DYNAMIC=libartsc.so.0 -I/usr/kde/3.4/include/artsc 
-pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DENABLE_X11 
-DXTHREADS -I./include -I./src/video -DXFREE86_VM -DXFREE86_VMGAMMA 
-DXFREE86_DGAMOUSE -DDEFAULT_DGAMOUSE -DXFREE86_XV -Isrc/video -DENABLE_DGA 
-DHAVE_OPENGL -DUSE_INPUT_EVENTS -D_REENTRANT -DSDL_USE_PTHREADS 
-DHAVE_SIGACTION -DHAVE_LINUX_VERSION_H -I../../include -I../../include/SDL 
-I../../src -I../../src/main/linux -I../../src/audio -I../../src/video 
-I../../src/video/XFree86/extensions -I../../src/events -I../../src/joystick 
-I../../src/cdrom -I../../src/thread -I../../src/timer -I../../src/endian 
-I../../src/file -I../../src/thread -c SDL_blit_N.c  -fPIC -DPIC 
-o .libs/SDL_blit_N.o 
../../src/hermes/HeadMMX.h:53: error: 'ConvertMMX' aliased to undefined symbol 
'_ConvertMMX' 
../../src/hermes/HeadMMX.h:63: error: 'ConvertMMXpII32_24RGB888' aliased to 
undefined symbol '_ConvertMMXpII32_24RGB888' 
../../src/hermes/HeadMMX.h:64: error: 'ConvertMMXpII32_16RGB565' aliased to 
undefined symbol '_ConvertMMXpII32_16RGB565' 
../../src/hermes/HeadMMX.h:65: error: 'ConvertMMXpII32_16BGR565' aliased to 
undefined symbol '_ConvertMMXpII32_16BGR565' 
../../src/hermes/HeadMMX.h:66: error: 'ConvertMMXpII32_16RGB555' aliased to 
undefined symbol '_ConvertMMXpII32_16RGB555' 
../../src/hermes/HeadMMX.h:67: error: 'ConvertMMXpII32_16BGR555' aliased to 
undefined symbol '_ConvertMMXpII32_16BGR555' 
../../src/hermes/HeadX86.h:82: error: 'Hermes_X86_CPU' aliased to undefined 
symbol '_Hermes_X86_CPU' 
../../src/hermes/HeadX86.h:84: error: 'ConvertX86' aliased to undefined symbol 
'_ConvertX86' 
../../src/hermes/HeadX86.h:93: error: 'ConvertX86p32_32BGR888' aliased to 
undefined symbol '_ConvertX86p32_32BGR888' 
../../src/hermes/HeadX86.h:94: error: 'ConvertX86p32_32RGBA888' aliased to 
undefined symbol '_ConvertX86p32_32RGBA888' 
../../src/hermes/HeadX86.h:95: error: 'ConvertX86p32_32BGRA888' aliased to 
undefined symbol '_ConvertX86p32_32BGRA888' 
../../src/hermes/HeadX86.h:96: error: 'ConvertX86p32_24RGB888' aliased to 
undefined symbol '_ConvertX86p32_24RGB888' 
../../src/hermes/HeadX86.h:97: error: 'ConvertX86p32_24BGR888' aliased to 
undefined symbol '_ConvertX86p32_24BGR888' 
../../src/hermes/HeadX86.h:98: error: 'ConvertX86p32_16RGB565' aliased to 
undefined symbol '_ConvertX86p32_16RGB565' 
../../src/hermes/HeadX86.h:99: error: 'ConvertX86p32_16BGR565' aliased to 
undefined symbol '_ConvertX86p32_16BGR565' 
../../src/hermes/HeadX86.h:100: error: 'ConvertX86p32_16RGB555' aliased to 
undefined symbol '_ConvertX86p32_16RGB555' 
../../src/hermes/HeadX86.h:101: error: 'ConvertX86p32_16BGR555' aliased to 
undefined symbol '_ConvertX86p32_16BGR555' 
../../src/hermes/HeadX86.h:102: error: 'ConvertX86p32_8RGB332' aliased to 
undefined symbol '_ConvertX86p32_8RGB332' 
../../src/hermes/HeadX86.h:112: error: 'ConvertX86p16_16BGR565' aliased to 
undefined symbol '_ConvertX86p16_16BGR565' 
../../src/hermes/HeadX86.h:113: error: 'ConvertX86p16_16RGB555' aliased to 
undefined symbol '_ConvertX86p16_16RGB555' 
../../src/hermes/HeadX86.h:114: error: 'ConvertX86p16_16BGR555' aliased to 
undefined symbol '_ConvertX86p16_16BGR555' 
../../src/hermes/HeadX86.h:115: error: 'ConvertX86p16_8RGB332' aliased to 
undefined symbol '_ConvertX86p16_8RGB332' 
make[3]: *** [SDL_blit_N.lo] Error 1 
 

Expected Results:  
Clean Build 

emerge info: 
Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-4.0.1, 
glibc-2.3.5.20050722-r0, 2.6.12-gentoo-r9 i686) 
================================================================= 
System uname: 2.6.12-gentoo-r9 i686 AMD Athlon(tm) XP 2400+ 
Gentoo Base System version 1.12.0_pre3 
dev-lang/python:     2.3.5, 2.4.1-r1 
sys-apps/sandbox:    1.2.11 
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 
sys-devel/binutils:  2.16.1 
sys-devel/libtool:   1.5.18-r1 
virtual/os-headers:  2.6.11-r2 
ACCEPT_KEYWORDS="x86 ~x86" 
AUTOCLEAN="yes" 
CBUILD="i686-pc-linux-gnu" 
CFLAGS="-pipe -O2 -march=athlon-xp -fomit-frame-pointer -ftracer -m32 -mmmx 
-msse -m3dnow -funroll-loops -fpeel-loops -funswitch-loops -fweb 
-fgcse-after-reload -fmodulo-sched -fgcse-sm -fgcse-las -ftree-loop-linear 
-ftree-loop-im -ftree-loop-ivcanon -fivopts -mtune=athlon-xp" 
CHOST="i686-pc-linux-gnu" 
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" 
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" 
CXXFLAGS="-pipe -O2 -march=athlon-xp -fomit-frame-pointer -ftracer -m32 -mmmx 
-msse -m3dnow -funroll-loops -fpeel-loops -funswitch-loops -fweb 
-fgcse-after-reload -fmodulo-sched -fgcse-sm -fgcse-las -ftree-loop-linear 
-ftree-loop-im -ftree-loop-ivcanon -fivopts -mtune=athlon-xp" 
DISTDIR="/usr/portage/distfiles" 
FEATURES="autoconfig distlocks sandbox sfperms strict" 
GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo 
http://gentoo.osuosl.org/ http://adelie.polymtl.ca/ 
http://www.las.ic.unicamp.br/pub/gentoo/ http://gentoo.inode.at/ 
http://gd.tuwien.ac.at/opsys/linux/gentoo/ 
http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ 
ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ 
http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ 
ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ 
http://ftp.uni-erlangen.de/pub/mirrors/gentoo 
ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo 
ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo 
ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo 
ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo 
ftp://ftp6.uni-muenster.de/pub/linux/distributions/gentoo 
http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ 
http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ 
ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ 
ftp://ftp.gentoo.mesh-solutions.com/gentoo/ 
http://pandemonium.tiscali.de/pub/gentoo/ 
ftp://pandemonium.tiscali.de/pub/gentoo/ ftp://files.gentoo.gr 
http://ftp.easynet.nl/mirror/gentoo/ ftp://ftp.easynet.nl/mirror/gentoo/ 
http://mirror.gentoo.no/ http://ftp.citkit.ru/pub/Linux/gentoo 
http://mirror.switch.ch/mirror/gentoo/ ftp://mirror.switch.ch/mirror/gentoo/ 
ftp://ftp.solnet.ch/mirror/Gentoo http://gentoo.blueyonder.co.uk 
http://gentoo.gg3.net/ http://ftp.isu.edu.tw/pub/Linux/Gentoo" 
LINGUAS="de" 
MAKEOPTS="-j2" 
PKGDIR="/usr/portage/packages" 
PORTAGE_TMPDIR="/var/tmp" 
PORTDIR="/usr/portage" 
PORTDIR_OVERLAY="/usr/local/portage" 
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage" 
USE="x86 3dnow 3dnowext 3ds X aac alsa apm arts avi berkdb bitmap-fonts cdr 
crypt cups curl dga dvd eds emboss encode fam foomaticdb fortran gdbm gif glut 
gpm gstreamer gtk gtk2 icq imagemagick imlib ipv6 joystick jpeg kde libclamav 
libg++ libwww lm_sensors logitech-mouse mad matroska mikmod mmap mmx mmxext 
motif mp3 mpeg ncurses nls nptl nvidia offensive ogg oggvorbis openal opengl 
oss pam pda pdflib perl png python qt quicktime readline samba sdl slang spell 
sse ssl tcltk tcpd tetex tiff truetype truetype-fonts type1-fonts usb vorbis 
xine xml xml2 xmms xv zlib linguas_de userland_GNU kernel_linux elibc_glibc" 
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS
Comment 1 Stuart Longland (RETIRED) gentoo-dev 2005-08-31 23:46:03 UTC
Aye carumba!  Are you absolutely sure you've got enough CFLAGS in there?  How
about adding -O3 and -ffastmath in there for good measure...?

Seriously, the root of your problems here, is the insane CFLAGS you have set. 
Just because a certain flag is recognised by GCC, doesn't mean it's necessarily
a good idea to go playing with it, unless you're familiar with what it does, and
what the consequences are.

Likely, due to the abuse of these flags, your system is most likely messed up
beyond all repair.  (FUBAR, as some of my mates would call it... I'll leave it
to others to derive the definition of that acronym)

Might I suggest, trimming back on the CFLAGS (e.g. I'd recommend "-O2 -pipe
-march=athlon-xp" and leave it at that) and see how that goes.  You may also
need to rebuild glibc and other components of your system -- so it may be easier
to reformat and reload.

The performance gained by CFLAGS on x86 is minimal at best -- largely because
the machines are still basically overclocked 386's at their core.  RISC
architectures (e.g. MIPS) can benefit by compiling to a particular ISA and CPU,
(e.g. throwing in -mips4 on an SGI O2 will get it humming nicely) however, going
beyond that only causes major headaches.

In short though, the only thing gained by lots of CFLAGS is 
Comment 2 Stuart Longland (RETIRED) gentoo-dev 2005-08-31 23:46:03 UTC
Aye carumba!  Are you absolutely sure you've got enough CFLAGS in there?  How
about adding -O3 and -ffastmath in there for good measure...?

Seriously, the root of your problems here, is the insane CFLAGS you have set. 
Just because a certain flag is recognised by GCC, doesn't mean it's necessarily
a good idea to go playing with it, unless you're familiar with what it does, and
what the consequences are.

Likely, due to the abuse of these flags, your system is most likely messed up
beyond all repair.  (FUBAR, as some of my mates would call it... I'll leave it
to others to derive the definition of that acronym)

Might I suggest, trimming back on the CFLAGS (e.g. I'd recommend "-O2 -pipe
-march=athlon-xp" and leave it at that) and see how that goes.  You may also
need to rebuild glibc and other components of your system -- so it may be easier
to reformat and reload.

The performance gained by CFLAGS on x86 is minimal at best -- largely because
the machines are still basically overclocked 386's at their core.  RISC
architectures (e.g. MIPS) can benefit by compiling to a particular ISA and CPU,
(e.g. throwing in -mips4 on an SGI O2 will get it humming nicely) however, going
beyond that only causes major headaches.

In short though, the only thing gained by lots of CFLAGS is über instability,
horrendous compile errors, and next to no speed gain.Aye carumba!  Are you
absolutely sure you've got enough CFLAGS in there?  How about adding -O3 and
-ffastmath in there for good measure...?

Seriously, the root of your problems here, is the insane CFLAGS you have set. 
Just because a certain flag is recognised by GCC, doesn't mean it's necessarily
a good idea to go playing with it, unless you're familiar with what it does, and
what the consequences are.

Likely, due to the abuse of these flags, your system is most likely messed up
beyond all repair.  (FUBAR, as some of my mates would call it... I'll leave it
to others to derive the definition of that acronym)

Might I suggest, trimming back on the CFLAGS (e.g. I'd recommend "-O2 -pipe
-march=athlon-xp" and leave it at that) and see how that goes.  You may also
need to rebuild glibc and other components of your system -- so it may be easier
to reformat and reload.

The performance gained by CFLAGS on x86 is minimal at best -- largely because
the machines are still basically overclocked 386's at their core.  RISC
architectures (e.g. MIPS) can benefit by compiling to a particular ISA and CPU,
(e.g. throwing in -mips4 on an SGI O2 will get it humming nicely) however, going
beyond that only causes major headaches.

In short though, the only thing gained by lots of CFLAGS is über instability,
horrendous compile errors, and next to no speed gain.

*** This bug has been marked as a duplicate of 74072 ***
Comment 3 Aaron Walker (RETIRED) gentoo-dev 2005-09-01 05:22:09 UTC
Totally agree with Stuart, however this is not a dup of 74072, which was
actually caused by ricer CFLAGS.  This one was not caused by ricer CFLAGS, as I
experience the same problem with sane CFLAGS.  (Note to user, please dont use
this as an excuse to continue using those insane CFLAGS, though).

Gentoo Base System version 1.6.13
Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-4.0.1,
glibc-2.3.5.20050722-r0, 2.6.12.5 i686)
=================================================================
System uname: 2.6.12.5 i686 mobile AMD Athlon(tm) XP2500+
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
ccache version 2.4 [enabled]
dev-lang/python:     2.3.4-r1, 2.4.1-r1
sys-apps/sandbox:    1.2.12
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
sys-devel/binutils:  2.16, 2.16.90.0.3, 2.16.91.0.1, 2.16.91.0.2, 2.16.91.0.3
sys-devel/libtool:   1.5.18-r1
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-xp -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=athlon-xp -pipe"
DISTDIR="/usr/local/distfiles"
FEATURES="autoaddcvs autoconfig ccache collision-protect cvs digest distcc
distlocks sandbox sfperms sign strict"
GENTOO_MIRRORS="http://zeus/gentoo/ ftp://gentoo.chem.wisc.edu/gentoo/"
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
MAKEOPTS="-j6"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/buildroot"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/home/ka0ttic/overlay"
SYNC="rsync://zeus/gentoo-portage"
USE="x86 3dnow X acpi aim alsa apache2 bash-completion berkdb bzip2 cdr crypt
cscope dvd esd fam fbcon gdbm gif gnome gnutls gtk gtk2 imap imlib jpeg maildir
mikmod mmx ncurses nls nptl offensive opengl oss pam pcre pdflib perl png python
readline ruby sdl slang sse ssl svga truetype unicode usb xml2 xmms xosd zlib
userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LDFLAGS, LINGUAS
Comment 4 Aaron Walker (RETIRED) gentoo-dev 2005-09-01 05:28:15 UTC
(In reply to comment #2)
> distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
> MAKEOPTS="-j6"

Forgot to add: it is not due to the above either.
Comment 5 Captain Sifff 2005-09-01 06:13:33 UTC
May I suggest reading the Compiler-Output first ? As one can see, the ebuild 
this particular source-file has filtered most of the CFLAGS, so they can't be 
responsible. Further the Kind of Error can't be because of Set CFLAGS, because 
the aliased symbols are in this Form not supported anymore by gcc4. 
 
Anyway applying 1.2.8-gcc4.patch solves the Issue with the Aliasing problems 
It now bails out with a not found register: 
 
 i686-pc-linux-gnu-gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" 
-DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" 
-DPACKAGE=\"SDL\" -DVERSION=\"1.2.9\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 
-DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 
-DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 
-DHAVE_DLFCN_H=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_LIBASOUND=1 -I. -I. 
-pipe -O2 -march=athlon-xp -m32 -mtune=athlon-xp -Wall -DENABLE_DUMMYVIDEO 
-DDISKAUD_SUPPORT -DUSE_DLOPEN -DUSE_ASMBLIT -I./hermes -I../../src/hermes 
-DOSS_SUPPORT -DALSA_SUPPORT -DALSA_DYNAMIC=libasound.so.2 -DUSE_DLVSYM 
-DARTSC_SUPPORT -DARTSC_DYNAMIC=libartsc.so.0 -I/usr/kde/3.4/include/artsc 
-pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DENABLE_X11 
-DXTHREADS -I./include -I./src/video -DXFREE86_VM -DXFREE86_VMGAMMA 
-DXFREE86_DGAMOUSE -DDEFAULT_DGAMOUSE -DXFREE86_XV -Isrc/video -DENABLE_DGA 
-DHAVE_OPENGL -DUSE_INPUT_EVENTS -D_REENTRANT -DSDL_USE_PTHREADS 
-DHAVE_SIGACTION -DHAVE_LINUX_VERSION_H -I../../include -I../../include/SDL 
-I../../src -I../../src/main/linux -I../../src/audio -I../../src/video 
-I../../src/video/XFree86/extensions -I../../src/events -I../../src/joystick 
-I../../src/cdrom -I../../src/thread -I../../src/timer -I../../src/endian 
-I../../src/file -I../../src/thread -c SDL_yuv_sw.c  -fPIC -DPIC 
-o .libs/SDL_yuv_sw.o 
SDL_yuv_mmx.c: In function 'ColorRGBDitherYV12MMX1X': 
SDL_yuv_mmx.c:113: error: can't find a register in class 'GENERAL_REGS' while 
reloading 'asm' 
make[3]: *** [SDL_yuv_mmx.lo] Error 1 
 
Comment 6 SpanKY gentoo-dev 2005-09-01 06:20:45 UTC
i punted the gcc4 patch without checking it because it *should* have been sent
upstream
Comment 7 Captain Sifff 2005-09-01 06:28:57 UTC
recompiling with -O1(nothing else ) leads to the same error 
recompiling with -O0 leads to a clean compile 
Comment 8 Captain Sifff 2005-09-01 06:52:25 UTC
hmmm... strange, I recompiled successfully again with: 
CFLAGS="-pipe -O0 -fdefer-pop -fdelayed-branch -fguess-branch-probability 
-fcprop-registers -floop-optimize -fif-conversion -fif-conversion2 -ftree-ccp 
-ftree-dce -ftree-dominator-opts -ftree-dse -ftree-ter -ftree-lrs -ftree-sra 
-ftree-copyrename -ftree-fre -ftree-ch -fmerge-constants -fomit-frame-pointer" 
 
which are supposed to be the features of -O1 that are controllable by switches 
Comment 9 Aaron Walker (RETIRED) gentoo-dev 2005-09-01 07:12:35 UTC
(In reply to comment #7)
> hmmm... strange, I recompiled successfully again with: 
> CFLAGS="-pipe -O0 -fdefer-pop -fdelayed-branch -fguess-branch-probability 
> -fcprop-registers -floop-optimize -fif-conversion -fif-conversion2 -ftree-ccp 
> -ftree-dce -ftree-dominator-opts -ftree-dse -ftree-ter -ftree-lrs -ftree-sra 
> -ftree-copyrename -ftree-fre -ftree-ch -fmerge-constants -fomit-frame-pointer" 
>  
> which are supposed to be the features of -O1 that are controllable by switches 

You are getting weird results because your system is screwed up, as Stuart
already explained.  I get the same results regardless of CFLAGS.
Comment 10 Mark Loeser (RETIRED) gentoo-dev 2005-09-01 17:23:37 UTC
It should compile successfully with -O0 in your CFLAGS.  This is due to the GCC2
MMX fix being added finally to libsdl.  I had conditionally removed it for GCC4
last time, seeing as this is most likely a GCC4 bug.  I'll try testing with a
gcc-4.0.2 snapshot in the near future and see if I can still reproduce the
error, or if someone else could give it a shot, that works too.
Comment 11 Harald van Dijk (RETIRED) gentoo-dev 2005-09-02 10:09:47 UTC
(In reply to comment #8)  
> You are getting weird results because your system is screwed up, as Stuart  
> already explained.  
 
Same behaviour here as the comment you replied to described. Besides, gcc gets 
built with stripped CFLAGS too, so it'd be strange for that to be responsible. 
 
(In reply to comment #9)   
> It should compile successfully with -O0 in your CFLAGS.  This is due to the   
GCC2   
> MMX fix being added finally to libsdl.  I had conditionally removed it for   
GCC4   
> last time, seeing as this is most likely a GCC4 bug.  I'll try testing with a   
> gcc-4.0.2 snapshot in the near future and see if I can still reproduce the   
> error, or if someone else could give it a shot, that works too.   
 
Using 4.0-20050818 (as well as 4.1-20050826, if you care) I get the error too. 
Comment 12 Mark Loeser (RETIRED) gentoo-dev 2005-09-02 11:43:09 UTC
(In reply to comment #10)
> Using 4.0-20050818 (as well as 4.1-20050826, if you care) I get the error too. 

Which error?  Before or after adding the gcc4 patch back in?
Comment 13 Harald van Dijk (RETIRED) gentoo-dev 2005-09-02 23:26:20 UTC
(In reply to comment #11)   
> Which error?  Before or after adding the gcc4 patch back in?   
   
The SDL_yuv_mmx.c assembly error; that's after adding the patch for  
Head{X86,MMX}.h. 
Comment 14 SpanKY gentoo-dev 2005-09-04 11:20:27 UTC
added gcc4 patch back to libsdl ebuild since it's been sent upstream
Comment 15 Jakub Moc (RETIRED) gentoo-dev 2005-09-10 16:38:35 UTC
*** Bug 105547 has been marked as a duplicate of this bug. ***
Comment 16 Aaron Walker (RETIRED) gentoo-dev 2005-09-22 07:09:51 UTC
While the original bug was indeed fixed by re-adding the gcc4 patch, the failure
mentioned in comment #4 and comment #12 still occurs.  As bugs filed for this
failure are being marked as a dup of this bug, I am reopening.
Comment 17 Harald van Dijk (RETIRED) gentoo-dev 2005-09-22 23:41:09 UTC
Created attachment 69052 [details, diff]
SDL_yuv_mmx.patch

Fix, works with gcc 2.95.3, 3.3.6, 3.4.4-r1 and 4.0.2-pre20050917.
Comment 18 Aaron Walker (RETIRED) gentoo-dev 2005-09-23 00:35:34 UTC
(In reply to comment #16)
> Created an attachment (id=69052) [edit]
> SDL_yuv_mmx.patch
> 
> Fix, works with gcc 2.95.3, 3.3.6, 3.4.4-r1 and 4.0.2-pre20050917.

Verified working here with 4.0.2-pre20050917.
Comment 19 SpanKY gentoo-dev 2005-09-23 18:01:04 UTC
before any patch is added, it has to be verified to work on gcc-2.95.3,
gcc-3.[34], and gcc-4
Comment 20 SpanKY gentoo-dev 2005-09-23 18:14:26 UTC
sorry, i cant read

Ryan: what do you think ?
Comment 21 Raul Metsma 2005-09-27 10:35:29 UTC
This patch fixes my build
Comment 22 Ryan C. Gordon 2005-09-27 19:35:51 UTC
Someone reported this on the SDL mailing list the other day, too, so it's
apparently broken, again.

I applied the patch in Comment #16, which compiles here with gcc 2.95.3 and
3.3.4, and someone else claims it's working for gcc4...plus it's just generally
cleaner, so into CVS it goes.

--ryan.
Comment 23 SpanKY gentoo-dev 2005-09-29 02:47:32 UTC
fixed in 1.2.9-r1, thanks all