After the horrors of bug #190237, here's a closer analysis: After upgrading gcc-config to 1.4.0, running "gcc" went slower than before under some circumstances. For me reproducable was: rbu $ time gcc real 0m0.002s user 0m0.000s sys 0m0.001s root # time gcc real 0m0.324s user 0m0.220s sys 0m0.042s The difference between the two users is that the latter does not have /usr/x86_64-pc-linux-gnu/gcc-bin/4.2.0 in its PATH. Removing the PATH from the other user made gcc slow again. This should not affect many situations (baiscally only when you are not sourcing /etc/profile in your bashrc and use su without a dash). Still this does not happen on an older system of mine running sys-devel/gcc-config-1.3.16. old # echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin old # time gcc real 0m0.009s user 0m0.000s sys 0m0.004s $ emerge --info Portage 2.1.3.7 (default-linux/amd64/2007.0/desktop, gcc-4.2.0, glibc-2.5-r4, 2.6.22-gentoo-r2 x86_64) ================================================================= System uname: 2.6.22-gentoo-r2 x86_64 Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz Gentoo Base System release 1.12.9 Timestamp of tree: Sun, 26 Aug 2007 00:50:01 +0000 distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.4 [enabled] app-shells/bash: 3.2_p17 dev-java/java-config: 1.3.7, 2.0.33-r1 dev-lang/python: 2.4.4-r4 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 1.12.9-r2 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.9.6-r2, 1.10 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.4.0 sys-devel/libtool: 1.5.24 virtual/os-headers: 2.6.21 ACCEPT_KEYWORDS="amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=nocona -mtune=nocona -O2 -pipe -mmmx -msse -msse2 -msse3 -mfpmath=sse -fweb -frename-registers -fomit-frame-pointer -fno-ident" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c" CXXFLAGS="-march=nocona -mtune=nocona -O2 -pipe -mmmx -msse -msse2 -msse3 -mfpmath=sse -fweb -frename-registers -fomit-frame-pointer -fno-ident" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digest autoaddcvs ccache collision-protect cvs digest distlocks metadata-transfer multilib-strict noinfo parallel-fetch sandbox sfperms sign strict test unmerge-orphans userfetch userpriv" GENTOO_MIRRORS=" http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo http://pandemonium.tiscali.de/pub/gentoo ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo http://mirrors.sec.informatik.tu-darmstadt.de/gentoo http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror http://www.ibiblio.org/pub/Linux/distributions/gentoo http://distfiles.gentoo.org" LANG="de_DE.utf8" LC_ALL="de_DE.utf8" LDFLAGS=" -Wl,--as-needed -Wl,-O1" LINGUAS="de en" MAKEOPTS="-j3" 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 --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/layman/java-overlay /usr/local/layman/kolab2 /usr/local/layman/gentopia /usr/local/layman/sunrise /usr/local/layman/marineam-xen /usr/local/layman/xen /usr/local/layman/xeffects /home/rbu/devel/gentoo/gentoo-x86" SYNC="rsync://rsync.de.gentoo.org/gentoo-portage" USE="3dnow 3dnowex X X509 a52 aac aalib acl acpi alsa amd64 apache2 arts asf audiofile avahi bash-completion berkdb bitmap-fonts bl bluetooth bzip2 bzlib cairo cdr cli cracklib crypt cups curl dbus dga divx dri dts dv dvd dvdr dvdread eds emboss encode esd evo exif fam ffmpeg firefox flac foomaticdb fortran ftp gcj gdbm ggi gif gimpprint glibc-omitfp glitz gmedia gpm gstreamer gtk gtk2 hal http iconv idn ieee1394 imagemagick ipv6 isdnlog jack java jpeg kde kerberos kqemu ldap libcaca libnotify live logitech-mouse lzo mad midi mikmod mmx mmx2 mmxext mozilla mp3 mpeg mudflap musepack nas ncurses network networkmanager nls nptl nptlonly nsplugin nvidia ogg oggvorbis openal opengl openmp oss pam pcre pdf perl php pic png ppds pppd pulseaudio python qemu qt3 qt3support qt4 quicktime readline realmedia reflection rss samba sasl sdl session slang sndfile speex spell spl sse sse2 ssl subversion svg tcltk tcpd test tetex theora threads tiff truetype truetype-fonts type1 type1-fonts unicode urandom usb v4l v4l2 vcd vorbis wma wmf wmp x264 xanim xen xine xml xorg xspf xv xvid xvmc zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci 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 mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="picolcd luise ncurses" LINGUAS="de en" USERLAND="GNU" VIDEO_CARDS="nvidia dri vesa nv" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
this is because i changed it all to use full CHOST's where as the older version would default to the same exact file ... for the sake of speed, it should be easy to drop in a symlink to the host compiler config so it doesnt need to be looked up every time you can see the same exact behavior with the old version if you execute a cross-compiler without PATH set properly ... the gcc wrapper needs to query portage to figure out the proper CHOST
should be fixed with gcc-config-1.4.0-r1
... the NATIVE entry appearing in gcc-config -l is somewhat confusing and disturbing and, btw., did you check for correct behavior when selecting NATIVE in gcc-config ? it is possible to select but selects the current selected compiler (by creating a file NATIVE as a copy of the current compiler config file). first, in this situation it's not really obvious which compiler is used. second, i don't actually know what happens when you upgrade the compiler and the current compiler gets unmerged ? even upgrade e.g. from 4.1.2 to 4.1.3 would render this NATIVE file incorrect and leave the system without a correct working compiler ?!?
so dont select NATIVE and it isnt a problem