Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 135632 - [4.1] fontconfig crashes X server w/ -ftree-vectorize
Summary: [4.1] fontconfig crashes X server w/ -ftree-vectorize
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
: 147290 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-06-05 07:04 UTC by Fredrik Smedberg
Modified: 2009-04-21 00:21 UTC (History)
6 users (show)

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 Fredrik Smedberg 2006-06-05 07:04:52 UTC
Hi! I upgraded to gcc 4.1.1 on my Pentium-M laptop some days ago and recompiled my entire system. The CFLAGS I used was:
"-march=pentium-m -O2 -pipe -fomit-frame-pointer -ftree-vectorize -fweb"

They worked perfect and everything compiled. Well, not everything at first, but those packages that failed to compile, compiled if I used the ~x86 versions.

When I tried to start gdm it failed. I saw X starting (the white noise-like screen) but gdm crashed after that. I ran gdb on gdm and found that it crashed when it tried to load fontconfig. I reemerged fontconfig without "-ftree-vectorize -fweb" in my CFLAGS and that made it work. Now X works perfectly.

What I propose to be done is to make fontconfig filter out anything but "normal" CFLAGS, because -ftree-vectorize and -fweb seems to make some packages broken. Not that broken that compile fails, but that broken that they can't be used.

Could "-ftree-vectorize -fweb" be broken for pentium-m? I tried emerging my entire system with exactly the same CFLAGS above but -march=athlon64 instead on my Athlon64 system and fontconfig worked perfect with "-ftree-vectorize -web" on that system.

My cat /proc/cpuinfo:
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 13
model name      : Intel(R) Pentium(R) M processor 1.60GHz
stepping        : 6
cpu MHz         : 1600.000
cache size      : 2048 KB
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 mce cx8 sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe est tm2
bogomips        : 3193.76

Here is my emerge --info:

Portage 2.1_rc4-r2 (default-linux/x86/2006.0, gcc-4.1.1, glibc-2.4-r3, 2.6.16-gentoo-r9 i686)
=================================================================
System uname: 2.6.16-gentoo-r9 i686 Intel(R) Pentium(R) M processor 1.60GHz
Gentoo Base System version 1.12.0
dev-lang/python:     2.3.5-r2, 2.4.2
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-r1
sys-devel/binutils:  2.16.1-r2
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium-m -O2 -pipe -fomit-frame-pointer -ftree-vectorize -fweb"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/lib/mozilla/defaults/pref /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d"
CXXFLAGS="-march=pentium-m -O2 -pipe -fomit-frame-pointer -ftree-vectorize -fweb"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://ftp.du.se/pub/os/gentoo/ http://ds.thn.htu.se/linux/gentoo/ http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo http://ftp.snt.utwente.nl/pub/os/linux/gentoo"
LC_ALL="en_GB.utf8"
LDFLAGS="-Wl,-O1 -Wl,--sort-common -s"
MAKEOPTS="-j2"
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/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 7zip X a52 acpi alsa apache2 apm audiofile avi bcmath berkdb bitmap-fonts bzip2 bzlib cli crypt cups dri dts dvd dvdr dvdread eds emboss encode esd flac foomaticdb fortran ftp gdbm gif gnome gpm gstreamer gtk gtk2 imagemagick imlib ipv6 isdnlog jpeg jpeg2k libcaca libg++ libwww lirc live lzo mad matroska mikmod mmx mng motif mozsvg mp3 mpeg ncurses network nls nptl nptlonly ogg oggvorbis opengl oss pam pcre pdflib perl png pppd python qt quicktime readline real reflection sdl session spell spl sse sse2 ssl svg tcpd theora tiff truetype truetype-fonts type1-fonts udev unicode usb vorbis win32codecs xml xml2 xorg xv xvid zlib elibc_glibc kernel_linux userland_GNU video_cards_i810"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Fredrik Smedberg 2006-06-05 19:01:18 UTC
Seems "-ftree-vectorize -fweb" destroys more than fontconfig. I'm reemerging my entire system now without those flags, I now only use "-march=pentium-m -O2 -pipe -fomit-frame-pointer". The former flags seems to have broken a lot of things. Perhaps "-ftree-vectorize -fweb" is broken in gcc for Pentium-M?
Comment 2 Mathy Vanvoorden 2006-07-25 00:57:27 UTC
I can confirm that -ftree-vectorize breaks fontconfig (somewhere in FcFontSetSortDestroy() if you're curious). Everything else however seems to work fine with that flag over here. Imho it should just be filtered in the fontconfig-ebuild.
Comment 3 David Li 2006-07-26 12:34:53 UTC
I can confirm this as well. I originally reported this in a bug listing various hitches in my GCC 4.1 system migration in Bug #134660
Comment 4 Federico Belvisi 2006-09-02 03:11:21 UTC
Me too I confirm -ftree-vectorize break at least fontconfig using -march=prescott, on GCC 4.1.1 (stable).
Comment 5 Jakub Moc (RETIRED) gentoo-dev 2006-09-12 03:41:06 UTC
*** Bug 147290 has been marked as a duplicate of this bug. ***
Comment 6 Ryan Hill (RETIRED) gentoo-dev 2007-07-25 21:55:40 UTC
this is due to both bug #151394 and bug #169074.
Comment 7 Ryan Hill (RETIRED) gentoo-dev 2007-07-26 01:12:07 UTC
and apparently something else.  even with both patches it's still exploding on me.
Comment 8 Ryan Hill (RETIRED) gentoo-dev 2008-03-25 01:51:39 UTC
fixed in 4.3 FWIW.
Comment 9 Daniel Kasak 2008-11-26 02:11:02 UTC
Re: comment #8 - this is NOT fixed for -march=athlon-xp in gcc-4.3 ( 4.3.2 )
Comment 10 Mark Loeser (RETIRED) gentoo-dev 2009-04-21 00:21:07 UTC
This seems to work just fine for me with gcc-4.3  Please reopen and give a step by step way to reproduce this bug if you are still affected.