Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 308161 - x11-apps/mesa-progs: builds sse2, even with -mno-sse2
Summary: x11-apps/mesa-progs: builds sse2, even with -mno-sse2
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: Other Linux
: High normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-03-07 08:09 UTC by Plug1n
Modified: 2011-07-30 02:38 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Plug1n 2010-03-07 08:09:45 UTC
My Athlon-xp does NOT have sse2

In make.conf I have (for my Athlon4 2400+):

CFLAGS="-O2 -march=athlon-4 -mfpmath=sse -pipe -mno-sse2"

But when I emerge mesa-progs I see:

make -j1 glxgears
i686-pc-linux-gnu-gcc -I../../include -I/usr/X11R6/include -Wall -Wmissing-prototypes -std=c99 -ffast-math -O2 -march=athlon-4 -mfpmath=sse -pipe -mno-sse2 -m32 -mmmx -msse -msse2 -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_POSIX_MEMALIGN -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -fno-strict-aliasing -Wl,-O1 glxgears.c -L../../lib -lGL -lm -lX11 -lpthread -o glxgears
>>> Source compiled.

where the later -msse2 overrides my -mno-sse2

The resulting glxgears crashes with "illegal instruction"

Reproducible: Always

Steps to Reproduce:
1. in make.conf - CFLAGS="-O2 -march=athlon-4 -mfpmath=sse -pipe -mno-sse2"
2. emerge mesa-progs
3. /usr/bin/glxgears

Actual Results:  
illegal instruction

Expected Results:  
New window with rotating gears!

If I build by hand with:

make -j1 glxgears
i686-pc-linux-gnu-gcc -I../../include -I/usr/X11R6/include -Wall -Wmissing-prototypes -std=c99 -ffast-math -O2 -march=athlon-4 -mfpmath=sse -pipe -mno-sse2 -m32 -mmmx -msse -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_POSIX_MEMALIGN -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -fno-strict-aliasing -Wl,-O1 glxgears.c -L../../lib -lGL -lm -lX11 -lpthread -o glxgears

i.e. the command the ebuild generates but without "-msse2" then, the generated binary produces the expected results
Comment 1 Rémi Cardona (RETIRED) gentoo-dev 2010-03-23 15:45:09 UTC
Please provide your emerge --info.

Thanks
Comment 2 Plug1n 2010-03-24 14:12:27 UTC
Here you are (I know this box needs a clean up....)

Portage 2.2_rc67 (default/linux/x86/10.0/desktop, gcc-4.4.2, glibc-2.11-r1, 2.6.32-gentoo i686)
=================================================================
System uname: Linux-2.6.32-gentoo-i686-AMD_Athlon-tm-_XP-with-gentoo-2.0.1
Timestamp of tree: Tue, 23 Mar 2010 14:00:01 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [disabled]
app-shells/bash:     4.0_p35
dev-java/java-config: 2.1.10
dev-lang/python:     2.6.4, 3.1.1-r1
dev-python/pycrypto: 2.1.0
dev-util/ccache:     2.4-r6
dev-util/cmake:      2.8.0
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.5.3
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.64
sys-devel/automake:  1.4_p6-r1, 1.5-r1, 1.6.3-r1, 1.7.9-r2, 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20
sys-devel/gcc:       4.4.2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-4 -mfpmath=sse -pipe -mno-sse2"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=athlon-4 -mfpmath=sse -pipe -mno-sse2"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.virginmedia.com/ ftp://gentoo.virginmedia.com/sites/gentoo "
LANG="en_GB.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="en_GB en"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow X a52 aac acl acpi alsa apache2 avantgo bash-completion berkdb bitmap-fonts bluetooth branding browserplugin bzip2 cairo cdr cli consolekit cracklib crypt cups curl cxx dbus directfb dri dts dvd dvdr eds emboss encode evdev evo exif extras fam ffmpeg firefox flac fortran gdbm gif gimp gmp gphoto2 gpm gstreamer gtk hal iconv imap ipv6 java jpeg lame ldap libnotify libwww lm_sensors logrotate mad mikmod mmx mng modules mono mp3 mp4 mpeg mudflap ncurses nls nptl nptlonly nsplugin nvidia ogg opengl openmp openssl pam pcre pda pdf perl png ppds pppd python qt3support qt4 quicktime readline reflection samba sasl sdl sensord session spell spl sqlite sse ssl startup-notification svg sysfs tcpd theora thunar tiff truetype truetype-fonts type1-fonts unicode usb v4l v4l2 vorbis webdav webkit win32codecs x264 x86 xcomposite xml xorg xulrunner xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_GB en" LIRC_DEVICES="mceusb2" RUBY_TARGETS="ruby18" SANE_BACKENDS="epkowa" USERLAND="GNU" VIDEO_CARDS="radeon" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

Comment 3 No Name 2010-07-04 22:26:50 UTC
Haha!

I can confirm this also...

i installed a new gentoo on a old k6-3 box with a ati rage 128 and was wondered about this error!

this cpu has also no sse and sse2. but other 3d apps works... because i have emerged mesa with use _pic_.

But now i can understand it clearly why this error is present...

in german /ungueltiger maschinenbefehl/ ...

emerge --info:

Portage 2.1.8.3 (default/linux/x86/10.0, gcc-4.4.3, glibc-2.11.2-r0, 2.6.34-gentoo-r1 i586)
=================================================================
System uname: Linux-2.6.34-gentoo-r1-i586-AMD-K6-tm-III_Processor-with-gentoo-1.12.13
Timestamp of tree: Sun, 04 Jul 2010 21:15:01 +0000
app-shells/bash:     4.0_p37
dev-java/java-config: 2.1.10
dev-lang/python:     2.6.5-r2, 3.1.2-r3
dev-util/cmake:      2.6.4-r3
sys-apps/baselayout: 1.12.13
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.3-r2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="* -@EULA"
CBUILD="i586-pc-linux-gnu"
CFLAGS="-march=k6-3 -O2 -pipe -fomit-frame-pointer"
CHOST="i586-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo"
CXXFLAGS="-march=k6-3 -O2 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://de-mirror.org/distro/gentoo/"
LANG="de_DE.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="de"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="/ 3dnow X acc acl acpi alsa ati audacious berkdb bzip2 cairo cdr cli cracklib crypt cups curl cxx dbus dri dvd fbcondecor ffmpeg floppy fortran gdbm gif glx gpm gtk hal iconv id3tag imlib jpeg k6_mtrr libsamplerate lm_sensors mmx mmxext modules mp3 mudflap ncurses nls nptl nptlonly nsplugin opengl openmp pam pcre perl pic png pppd python readline reflection sdl session spl ssl sysfs tcpd truetype unicode usb v4l2 video vorbis wifi win32codecs x86 xcomposite xorg xulrunner xv xvmc zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="radeon r128" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 4 Bodo Thiesen 2010-07-08 19:24:57 UTC
CONFIRMED. The -msse2 comes from configs/linux-dri-x86. BTW: There is other stuff that should be whiped as well.

Regards, Bodo
Comment 5 Matt Turner gentoo-dev 2011-07-30 02:38:11 UTC
No one ever posted a version that his affects.

The build process for 8.0.1 looks nothing like what you describe, and I don't see any evidence of -msse flags being added, so I presume the older (affected) version was 7.x, which is no longer in the tree.

Closing.