Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 54849

Summary: [Test Case] Gcc 3.3.3's handling of mmx and sse fails gimp 2.x
Product: Gentoo Linux Reporter: Chris White (RETIRED) <chriswhite>
Component: [OLD] GNOMEAssignee: Gentoo Linux bug wranglers <bug-wranglers>
Status: RESOLVED INVALID    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Chris White (RETIRED) gentoo-dev 2004-06-22 20:48:09 UTC
After realizing that my gimp 2.0.2 build was failing, and seeing numerous mmx and sse related issue, I decided to ask around.  It appears that someone was able to compile on athlon xp (which appear to have mmx and sse use flags disabled) and someone with gcc 3.4 was able to correctly compile.  This causes me to belive that gcc 3.3.3 improperly handles mmx and sse compiling.  In order to prove this, the following test case should be tested:

1. For same arch purposes, this test should be conducted on a pentium 4 system.
2. CFLAGS should be set to "-O2 -mcpu=pentium4 -pipe"

Case 1: gcc 3.3.3 is used

gimp 2.x builds should fail on certain mmx and sse functions

Case 2: gcc 3.4.x is used

gimp 2.x builds should succeed

I have already proven test case 1, as I hope someone else will.  Another dev has proven test case 2.

Reproducible: Always
Steps to Reproduce:

Actual Results:
Comment 1 Chris White (RETIRED) gentoo-dev 2004-06-22 20:49:29 UTC
adding emerge --info seperately for readability:

Portage 2.0.50-r8 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.3.20040420-r0, 2.6.4-gentoo)
=================================================================
System uname: 2.6.4-gentoo i686 Intel(R) Pentium(R) 4 CPU 1.60GHz
Gentoo Base System version 1.4.16
Autoconf: sys-devel/autoconf-2.59-r3
Automake: sys-devel/automake-1.8.3
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-pipe"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /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/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://mirrors.tds.net/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X aalib anthy apm arts avi berkdb canna cdr chroot cjk crypt cups directfb doc encode esd esound foomatic foomaticdb freewnn gdbm ggi gif gnome gpm gtk gtk2 hardened imlib ipv6 jpeg kde libg++ libwww mad mikmod motif mozilla mpeg mysql nas ncurses nls oggvorbis opengl oss pam pdflib perl png python qt quicktime readline ruby sane sdl skey slang spell ssl svga tcltk tcpd truetype x86 xml2 xmms xv zlib"
Comment 2 Tuan Van (RETIRED) gentoo-dev 2004-06-22 21:18:23 UTC
# emerge -pv gimp

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild   R   ] media-gfx/gimp-2.0.2  +X +aalib -altivec -debug -doc -gimpprint +gtkhtml +jpeg +mmx -mng +png +python +sse -tiff -wmf 0 kB

# emerge info
Portage 2.0.51_pre10 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.3.20040420-r0, 2.6.7-rc3)
=================================================================
System uname: 2.6.7-rc3 i686 Intel(R) Pentium(R) 4 CPU 2.26GHz
Gentoo Base System version 1.4.16
ccache version 2.3 [disabled]
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.14.90.0.8-r1
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium4 -O2 -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium4 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs sandbox"
GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="X aalib acpi alsa apache2 apm avi berkdb bonobo cdr cjk composite crypt cups directfb dv dvd dvdr encode fbcon foomaticdb gdbm gif gnome gpm gstreamer gtk gtk2 gtkhtml imlib ipv6 java javascript jpeg kde ldap libg++ libwww mad md5sum mikmod mmx motif mozcalendar mozilla mpeg mysql ncurses nls oggvorbis openal opengl oss pam pdflib perl png prelude python qt quicktime readline samba sdl slang spell sse sse2 ssl svga tcltk tcpd truetype usb x86 xml2 xmms xv xvid zlib linguas_en linguas_vi"
Comment 3 hollywoodb 2004-06-22 21:49:57 UTC
gimp-2 failed to compile in my case with -O3 in cflags and mmx and/or sse in USE (been a while).... switched to -O2 recently, did an -e world (manually, left out gimp, blender, openoffice and a few other big ones).... tried gimp today with -O2, successful....

results:


emerge -pv:
media-gfx/gimp-2.0.2  +X +aalib -altivec -debug -doc -gimpprint -gtkhtml +jpeg +mmx -mng +png -python +sse +tiff -wmf

emerge info:
root@cloak: 9 files 1.5Mb -> emerge info
Portage 2.0.51_pre10 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.4.20040605-r1, 2.6.7-rc3)
=================================================================
System uname: 2.6.7-rc3 i686 AMD Athlon(tm) 
Gentoo Base System version 1.4.16
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.14.90.0.8-r1
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=athlon-xp -O2 -pipe -mcpu=athlon-xp -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon-xp -O2 -pipe -mcpu=athlon-xp -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://128.213.5.34/gentoo/ ftp://cudlug.cudenver.edu/pub/mirrors/distributions/gentoo/ http://mirror.datapipe.net/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/local/bmg-main"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow X aalib aim alsa avi berkdb cddb cdr chroot clamav cups dillo dvd encode fbcon flac foomaticdb gif gphoto2 gtk gtk2 icq imagemagick imap imlib imlib2 ipv6 java jpeg libwww mad mmx motif mozdomi mozilla moznocompose moznoirc moznomail mozp3p mozsvg mozxmlterm mpeg msn ncurses nls nopsyco nptl oav offensive oggvorbis opengl operanom2 oscar pdflib pic png ppds quicktime readline samba sdl sse ssl tiff transcode truetype usb x86 xface xinerama xml xml2 xmms xv xvid yahoo zlib"
Comment 4 Jon Hood (RETIRED) gentoo-dev 2004-06-22 22:12:31 UTC
All systems go here- I will try -O3 and my usual CFLAGS if someone gives me a cookie.

# emerge -pv gimp
[ebuild   R   ] media-gfx/gimp-2.0.2  +X +aalib -altivec -debug -doc -gimpprint +gtkhtml +jpeg +mmx -mng +png +python +sse -tiff -wmf  0 kB [2]

# emerge --info
Portage 2.0.50-r8 (default-x86-1.4, gcc-3.3.3, glibc-2.3.3.20040420-r0, 2.6.7-rc2-mm2)
=================================================================
System uname: 2.6.7-rc2-mm2 i686 Mobile Intel(R) Pentium(R) 4     CPU 2.30GHz
Gentoo Base System version 1.4.16
distcc 2.14 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -mcpu=pentium4 -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /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/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -mcpu=pentium4 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="ftp://gentoo.mirrors.pair.com/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="X aalib alsa apm arts avi berkdb bonobo cdr crypt cups curl directfb dvd encode esd festival flash foomaticdb g77 gcj gd gdbm gif gnome gpm gtk gtk2 gtkhtml guile icu imlib input_devices_synaptics java jpeg kde libg++ libwww mad mikmod mmx motif mozilla moznoirc moznomail mpeg ncurses nls offensive oggvorbis opengl oss pam pdf pdflib perl png ppds python qt quicktime readline samba sdl slang spell sse ssl svga tcltk tcpd tetex truetype video_cards_radeon x86 xml xml2 xmms xv zlib"
Comment 5 Jon Hood (RETIRED) gentoo-dev 2004-06-22 22:18:09 UTC
By request:

$ cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 2
model name      : Mobile Intel(R) Pentium(R) 4     CPU 2.30GHz
stepping        : 9
cpu MHz         : 2294.236
cache size      : 512 KB
physical id     : 0
siblings        : 1
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe cid
bogomips        : 4472.83
Comment 6 Chris White (RETIRED) gentoo-dev 2004-06-23 00:30:54 UTC
This bug is cpu related more than anything else.  Because of the small ammount of registers on 686's (as stated by a similiar gcc bug), less aggressive cflags must be used.  That means taking down -O's a notch if possible.  Consider this almost like an openoffice build.. only smaller :), try and be nice on the flags.  Closing this bug as invalid, since gcc is not the apparent issue.