View previous topic :: View next topic |
Author |
Message |
rhill Retired Dev
Joined: 22 Oct 2004 Posts: 1629 Location: sk.ca
|
Posted: Thu Dec 30, 2010 11:39 pm Post subject: |
|
|
mv wrote: | As far as I can see the problems with LTO are mainly package-specific or libtool related. I used it together with -fwhole-program for testing, and more than 50% of the packages have no problems with it. Especially: If they compile then they work. Those packages which fail usually only have a problem with shell syntax (=libtool related) or with the missing -fpic (=libtool related). (Some libraries do not like -fwhole-program, of course...). If there is an interest, I can post my mask-file of non-working packages. |
+50% of packages working is not a glowing endorsement for enabling it globally. My point was that if you found it broken before, it's still broken in 4.5.2, and in my opinion, yes it is broken.
Are you checking that the proper flags are actually getting passed during the linking stage? My experience is that a lot of packages didn't get this right, but that was with pre-libtool-2.4. Are you setting LDFLAGS as well as CFLAGS? Are you using ld or gold?
The fact that LTO can't be used with -march=native or -g makes it a no brainer in my case, and the huge number of LTO bugs fixed for 4.6 just reinforces it. YMMV.
(Speaking of 4.6, the svn ebuild is just about ready. Sorry it's so late, I've been sorting out the cloog/cloog-ppl mess.) _________________ by design, by neglect
for a fact or just for effect |
|
Back to top |
|
|
Genewb Apprentice
Joined: 09 Jan 2007 Posts: 165
|
Posted: Fri Dec 31, 2010 8:01 am Post subject: |
|
|
kernelOfTruth wrote: | [...]
-floop-parallelize-all
Use the Graphite data dependence analysis to identify loops that can be parallelized. Parallelize all the loops that can be analyzed to not contain loop carried dependences without checking that it is profitable to parallelize the loops.
Quote: | -ftree-parallelize-loops=n
Parallelize loops, i.e., split their iteration space to run in n threads. This is only possible for loops whose iterations are independent and can be arbitrarily reordered. The optimization is only profitable on multiprocessor machines, for loops that are CPU-intensive, rather than constrained e.g. by memory bandwidth. This option implies -pthread, and thus is only supported on targets that have support for -pthread. |
@all:
any experience with these ?
are they already stable to use for world or specific packages ? |
I tried -floop-parallelize-all -ftree-parallelize-loops=4 on desmume a while back, which decreased fps by about 1/3. Methinks that future "checking that it is profitable to parallelize the loops" will make it a tad more useful. _________________ I don't give a darn about "experience", just functional copyleft software. |
|
Back to top |
|
|
cruzki123 Apprentice
Joined: 16 May 2008 Posts: 262
|
Posted: Fri Dec 31, 2010 10:27 pm Post subject: |
|
|
mv wrote: | dirtyepic wrote: | no patches for LTO. So it's still broken. |
As far as I can see the problems with LTO are mainly package-specific or libtool related. I used it together with -fwhole-program for testing, and more than 50% of the packages have no problems with it. Especially: If they compile then they work. Those packages which fail usually only have a problem with shell syntax (=libtool related) or with the missing -fpic (=libtool related). (Some libraries do not like -fwhole-program, of course...). If there is an interest, I can post my mask-file of non-working packages. |
Can you post it?¿ I'm thinking in reinstalling my testing computer and I want to try a radical approach (gcc 4.6, lto and gold) if I'll find good documentation about how to do that |
|
Back to top |
|
|
augury l33t
Joined: 22 May 2004 Posts: 722 Location: philadelphia
|
Posted: Mon Jan 03, 2011 12:58 am Post subject: |
|
|
I don't think my gcc-4.5 was built with gold! I'm rebuilding it now. It seems this is the only way to use fwhopr on kdelibs. fwpa too. |
|
Back to top |
|
|
mv Watchman
Joined: 20 Apr 2005 Posts: 6747
|
Posted: Mon Jan 03, 2011 4:05 pm Post subject: |
|
|
cruzki123 wrote: | Can you post it? |
Here you are. Maybe some of the masks are not necessary (e.g. to mask -fwhole-program for all *-libs/* packages is certainly too much; however, for most of these packages, the flag will be rather useless anyway). Also there are some packages included for which only some versions need to mask -flto, and some packages are included which need this mask only on amd64 but not on x86 (since wrong handling of fpic sometimes causes no errors on x86).
Code: | *-libs/* +fwhole-program
*-plugins/* +fwhole-program
app-admin/sudo +fwhole-program
app-arch/bzip2 +flto +fwhole-program
app-arch/cpio +flto +fwhole-program
app-arch/par2cmdline +flto +fwhole-program
app-arch/p7zip +flto +fwhole-program
app-arch/tar +fwhole-program
app-arch/sharutils +fwhole-program
app-arch/star +flto +fwhole-program
app-arch/unzip +fwhole-program
app-arch/unrar +flto +fwhole-program
app-backup/dar +flto +fwhole-program
app-cdr/cdrtools +flto +fwhole-program
app-cdr/k3b +flto +fwhole-program
app-crypt/gnupg +fwhole-program
app-crypt/pinentry +fwhole-program
app-crypt/qca +flto +fwhole-program
app-editors/kile +flto +fwhole-program
app-emulation/bochs +flto +fwhole-program
app-emulation/dosemu +flto +fwhole-program
app-emulation/vice +flto +fwhole-program
app-emulation/wine +fwhole-program
app-misc/lirc +fwhole-program
app-misc/mc +fwhole-program
app-misc/strigi +flto +fwhole-program
app-shells/bash +flto +fwhole-program
app-shells/zsh +flto +fwhole-program
app-text/a2ps +fwhole-program
app-text/aspell +flto +fwhole-program
app-text/djvu +flto +fwhole-program
app-text/ebook-tools +fwhole-program
app-text/ghostscript-gpl +flto +fwhole-program
app-text/gocr +fwhole-program
app-text/hunspell +flto +fwhole-program
app-text/poppler +flto +fwhole-program
app-text/rarian +flto +fwhole-program
app-text/recode +fwhole-program
app-text/sablotron +flto +fwhole-program
app-text/stardict +flto +fwhole-program
app-text/teckit +flto +fwhole-program
app-text/texlive-core +flto +fwhole-program
app-text/wdiff +fwhole-program
app-text/xdvik +flto +fwhole-program
app-text/xpdf +fwhole-program
dev-cpp/cairomm +flto +fwhole-program
dev-cpp/clucene +flto +fwhole-program
dev-cpp/glibmm +flto +fwhole-program
dev-cpp/gtkmm +flto +fwhole-program
dev-cpp/pangomm +flto +fwhole-program
dev-games/flatzebra +flto +fwhole-program
dev-lang/tcl +flto +fwhole-program
dev-lang/tk +flto +fwhole-program
dev-lang/perl +flto +fwhole-program
dev-lang/python +flto +fwhole-program
dev-lang/ruby +flto +fwhole-program
dev-libs/boost +flto
dev-libs/dbus-glib +flto
dev-libs/glib +flto
dev-libs/gmp +flto
dev-libs/libsigc++ +flto
dev-libs/libcdio +flto
dev-libs/libpcre +flto
dev-libs/libusb +flto
dev-libs/nspr +flto
dev-libs/ppl +flto
dev-libs/rlog +flto
dev-libs/xerces-c +flto
dev-libs/zziplib +flto
dev-lisp/clisp +flto +fwhole-program
dev-perl/* +flto +fwhole-program
dev-python/* +flto +fwhole-program
dev-scheme/guile +flto +fwhole-program
dev-tcltk/expect +flto +fwhole-program
dev-tex/luatex +flto +fwhole-program
dev-util/bdelta +flto +fwhole-program
dev-util/cmake +flto +fwhole-program
dev-util/ltrace +flto +fwhole-program
dev-util/valgrind +fwhole-program
dev-vcs/cvs +fwhole-program
dev-vcs/git +fwhole-program
dev-vcs/mercurial +flto +fwhole-program
dev-vcs/monotone +flto +fwhole-program
dev-vcs/subversion +flto +fwhole-program
games-action/gltron +flto +fwhole-program
games-arcade/kobodeluxe +fwhole-program
games-arcade/lbreakout +flto +fwhole-program
games-arcade/rocksndiamonds +fwhole-program
games-arcade/xgalaga +fwhole-program
games-emulation/advancemame +fwhole-program
games-emulation/dosbox +flto +fwhole-program
games-emulation/xmame +flto +fwhole-program
games-emulation/xmess +flto +fwhole-program
games-engines/scummvm-tools +flto +fwhole-program
games-fps/prboom +flto +fwhole-program
games-puzzle/enigma +flto +fwhole-program
games-rpg/freedroidrpg +flto +fwhole-program
gnome-base/libglade +flto +fwhole-program
kde-base/* +flto +fwhole-program
kde-misc/filelight +fwhole-program
mail-client/claws-mail +flto +fwhole-program
mail-client/pine +fwhole-program
mail-filter/maildrop +fwhole-program
media-gfx/exiv2 +flto +fwhole-program
media-gfx/gimp +flto +fwhole-program
media-gfx/graphicsmagick +flto +fwhole-program
media-gfx/imagemagick +flto +fwhole-program
media-gfx/pstoedit +flto +fwhole-program
media-gfx/sam2p +flto +fwhole-program
media-gfx/sane-backends +flto +fwhole-program
media-gfx/swftools +fwhole-program
media-gfx/transfig +flto +fwhole-program
media-libs/flac +flto
media-libs/gstreamer +flto
media-libs/jbigkit +flto
media-libs/jpeg +flto
media-libs/libcaca +flto
media-libs/libdvdread +flto
media-libs/libdvdnav +flto
media-libs/liblastfm +flto
media-libs/libmodplug +flto
media-libs/libmp4v2 +flto
media-libs/libsidplay +flto
media-libs/libv4l +flto
media-libs/mediastreamer +flto
media-libs/musicbrainz +flto
media-libs/netpbm +flto
media-libs/opencore-amr +flto
media-libs/openjpeg +flto
media-libs/plotutils +flto
media-libs/schroedinger +flto
media-libs/silgraphite +flto
media-libs/smpeg +flto
media-libs/tiff +flto
media-libs/x264 +flto
media-plugins/live +flto
media-sound/audacity +flto +fwhole-program
media-sound/audex +flto +fwhole-program
media-sound/cdparanoia +flto +fwhole-program
media-sound/gsm +flto +fwhole-program
media-sound/kradio +flto +fwhole-program
media-sound/kstreamripper +flto +fwhole-program
media-sound/lilypond +flto +fwhole-program
media-sound/musepack-tools +fwhole-program
media-sound/phonon +flto +fwhole-program
media-sound/qmmp +fwhole-program
media-sound/timidity++ +flto +fwhole-program
media-sound/vorbis-tools +flto +fwhole-program
media-sound/xmms2 +flto +fwhole-program
media-tv/kdetv +flto +fwhole-program
media-tv/v4l-utils +fwhole-program
media-tv/xawtv +flto +fwhole-program
media-video/avidemux +flto +fwhole-program
media-video/cclive +flto +fwhole-program
media-video/dirac +flto +fwhole-program
media-video/ffmpeg +flto +fwhole-program
media-video/gnome-mplayer +fwhole-program
media-video/kaffeine +flto +fwhole-program
media-video/mjpegtools +flto +fwhole-program
media-video/mplayer +flto +fwhole-program
media-video/xine-ui +flto +fwhole-program
media-video/transcode +flto +fwhole-program
media-video/vlc +flto +fwhole-program
net-analyzer/wireshark +flto +fwhole-program
net-dialup/ppp +flto +fwhole-program
net-dns/libidn +fwhole-program
net-firewall/ipsec-tools +fwhole-program
net-firewall/iptables +flto +fwhole-program
net-ftp/lftp +flto +fwhole-program
net-libs/gnutls +flto
net-libs/libetpan +flto
net-libs/libpcap +flto
net-libs/libsrtp +flto
net-libs/opal +flto
net-libs/ptlib +flto
net-libs/wvstreams +flto
net-mail/uw-mailutils +fwhole-program
net-misc/iputils +flto +fwhole-program
net-misc/nx +flto +fwhole-program
net-misc/nxcl +flto +fwhole-program
net-misc/openssh +flto +fwhole-program
net-p2p/ktorrent +flto +fwhole-program
net-print/cups +flto +fwhole-program
net-voip/yate +flto +fwhole-program
perl-core/* +flto +fwhole-program
sci-libs/cln +flto
sci-libs/gdal +flto
sci-libs/libgeotiff +flto
sci-libs/qrupdate +flto
sci-mathematics/axiom +flto +fwhole-program
sci-mathematics/ginac +flto +fwhole-program
sci-mathematics/glpk +flto +fwhole-program
sci-mathematics/scilab +fwhole-program
sci-mathematics/pari +flto +fwhole-program
sci-mathematics/octave +flto +fwhole-program
sys-apps/busybox +flto +fwhole-program
sys-apps/coreutils +fwhole-program
sys-apps/dbus +flto +fwhole-program
sys-apps/fakeroot-ng +fwhole-program
sys-apps/findutils +fwhole-program
sys-apps/grep +fwhole-program
sys-apps/groff +fwhole-program
sys-apps/hal +fwhole-program
sys-apps/hdparm +flto +fwhole-program
sys-apps/iproute2 +fwhole-program
sys-apps/less +flto +fwhole-program
sys-apps/less-select +flto +fwhole-program
sys-apps/module-init-tools +fwhole-program
sys-apps/pciutils +flto +fwhole-program
sys-apps/sandbox +fwhole-program
sys-apps/shadow +flto +fwhole-program
sys-apps/sysvinit +flto +fwhole-program
sys-apps/which +flto +fwhole-program
sys-devel/bc +fwhole-program
sys-devel/libtool +flto +fwhole-program
sys-fs/dosfstools +flto +fwhole-program
sys-fs/ddrescue +flto +fwhole-program
sys-fs/e2fsprogs +flto +fwhole-program
sys-fs/encfs +flto +fwhole-program
sys-fs/lvm2 +fwhole-program
sys-fs/mtools +flto +fwhole-program
sys-fs/squashfs-tools +flto +fwhole-program
sys-fs/udftools +flto +fwhole-program
sys-kernel/kccmp +flto +fwhole-program
sys-libs/e2fsprogs-libs +flto
sys-libs/gpm +flto
sys-libs/ncurses +flto
sys-libs/slang +flto
sys-libs/zlib +flto
sys-power/hibernate-script +fwhole-program
sys-process/lsof +fwhole-program
sys-process/procps +flto +fwhole-program
www-plugins/mozplugger +flto
www-client/dillo +flto +fwhole-program
www-client/lynx +fwhole-program
x11-base/xorg-server +fwhole-program
x11-libs/Xaw3d +flto
x11-libs/fltk +flto
x11-libs/libvdpau +flto
x11-libs/openmotif +flto
x11-libs/pango +flto
x11-libs/qt-* +flto
x11-libs/wxGTK +flto
x11-wm/fvwm +fwhole-program |
|
|
Back to top |
|
|
cruzki123 Apprentice
Joined: 16 May 2008 Posts: 262
|
Posted: Mon Jan 03, 2011 11:15 pm Post subject: |
|
|
Thanks.
I forgot to ask before, what CFLAGS and LDFLAGS are you ussing? I was thiking on ussing:
Code: |
CFLAGS="-march=core2 -Ofast -pipe -ftracer -fexcess-precision=fast"
CFLAGS="${CFLAGS} -floop-interchange -floop-strip-mine -floop-block"
CFLAGS="${CFLAGS} -flto -fwhole-program
CXXFLAGS="${CFLAGS}"
LDFLAGS="${LDFLAGS} -Wl,--hash-style=gnu"
LDFLAGS="${LDFLAGS} -Wl,-flto"
|
|
|
Back to top |
|
|
mv Watchman
Joined: 20 Apr 2005 Posts: 6747
|
Posted: Tue Jan 04, 2011 9:59 pm Post subject: |
|
|
cruzki123 wrote: | I forgot to ask before, what CFLAGS and LDFLAGS are you using? |
It depends very much on the package: I have a huge file of masks; I have only separated the -flto and -fwhole program flags into their own mask-file, because they need to be masked so often. For the majority of packages (which I do not care so much about) I use most flags which do not add too much in executable size and some flags which improve security (like -fstack-protector, -D_FORTIFY_SOURCE=2, or the combination -Wl,-z,now -Wl,-z,relro; partly, these are now default in gentoo, but I prefer to keep them anyway); something like
Code: | CFLAGS="-march=native -O2 -fno-ident -pipe -D_FORTIFY_SOURCE=2 -fstack-protector -fomit-frame-pointer -ffast-math -combine -fmerge-all-constants -fgcse-sm -fgcse-las -frename-registers -fweb -finline-functions -fgcse-after-reload -fpredictive-commoning -fdirectives-only -ftree-switch-conversion -fgraphite-identity -floop-interchange -floop-strip-mine -floop-block -flto -fwhole-program"
CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden -fno-enforce-eh-specs"
LDFLAGS="${CFLAGS resp. CXXFLAGS} -Wl,--hash-style=gnu -Wl,--sort-common -Wl,-O9 -Wl,--enable-new-dtags -Wl,-z,now -Wl,-z,relro -Wl,-z,combreloc -Wl,--relax -flto -fwhole-program" |
But expect breakage if you use all this stuff on critical packages, especially on packages which are not very really cleanly written: Better do not use it unless you know what you are doing.
Quote: | I was thiking on ussing: Code: |
CFLAGS="-march=core2 -Ofast -pipe -ftracer -fexcess-precision=fast" |
|
I don't know what -Ofast should mean. -ftracer can also slow down things and might need more memory; I do not use it anymore. -fexcess-precision=fast should be the default; if some project changes it explicitly, I would not recommend to override the project's decision. |
|
Back to top |
|
|
kernelOfTruth Watchman
Joined: 20 Dec 2005 Posts: 6111 Location: Vienna, Austria; Germany; hello world :)
|
Posted: Tue Jan 04, 2011 10:09 pm Post subject: |
|
|
Quote: | A new general optimization level, -Ofast has been introduced. It combines the existing optimization level -O3 with options that can affect standards compliance but result in better optimized code. For example -Ofast enables -ffast-math. |
so not really much change compared to -O3 and -ffast-math
mv, you have some really nice flags, especially the -fmerge-all-constants flag looks promising and -fdirectives-only _________________ https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.9.0
https://github.com/kernelOfTruth/pulseaudio-equalizer-ladspa
Hardcore Gentoo Linux user since 2004
Last edited by kernelOfTruth on Wed Jan 05, 2011 9:04 am; edited 1 time in total |
|
Back to top |
|
|
rhill Retired Dev
Joined: 22 Oct 2004 Posts: 1629 Location: sk.ca
|
|
Back to top |
|
|
mv Watchman
Joined: 20 Apr 2005 Posts: 6747
|
Posted: Wed Jan 05, 2011 4:39 pm Post subject: |
|
|
kernelOfTruth wrote: | Quote: | A new general optimization level, -Ofast has been introduced. |
|
In my gcc-4.5.2, this flag is neither documented nor understood.
Quote: | -fmerge-all-constants flag looks promising and -fdirectives-only |
The -fdirectives-only is there mainly to speed up ccache, but several packages break with it (my mask-file contains 11 packages for it, among them important things like coreutils, gettext, dash, parted). The -fmerge-all-constants is probably rather useless since string constants are merged anyway and other constants are not used very often; however, I do not know a package which has problems with it (although of course, in theory, there might be subtle runtime problems if constants are re-cast and modified). |
|
Back to top |
|
|
amade n00b
Joined: 30 Mar 2009 Posts: 8
|
Posted: Wed Jan 05, 2011 6:01 pm Post subject: |
|
|
mv wrote: | kernelOfTruth wrote: | Quote: | A new general optimization level, -Ofast has been introduced. |
|
In my gcc-4.5.2, this flag is neither documented nor understood. |
http://gcc.gnu.org/gcc-4.6/changes.html
Seems to be introduced (planned?) in 4.6 series, so it rather won't work with 4.5.2 |
|
Back to top |
|
|
kernelOfTruth Watchman
Joined: 20 Dec 2005 Posts: 6111 Location: Vienna, Austria; Germany; hello world :)
|
|
Back to top |
|
|
Fred Krogh Veteran
Joined: 07 Feb 2005 Posts: 1036 Location: Tujunga, CA
|
|
Back to top |
|
|
Moonboots Apprentice
Joined: 02 Dec 2006 Posts: 161
|
Posted: Mon Jan 10, 2011 4:50 pm Post subject: |
|
|
I remerged dev-libs/cloog-ppl without my graphite flags, then restored them back as before. |
|
Back to top |
|
|
Fred Krogh Veteran
Joined: 07 Feb 2005 Posts: 1036 Location: Tujunga, CA
|
Posted: Mon Jan 10, 2011 5:23 pm Post subject: |
|
|
This Quote: | # env USE="-graphite" emerge -av cloog-ppl
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild R ] dev-libs/cloog-ppl-0.15.10 USE="-static-libs" 0 kB |
Does not show cloog-ppl depending on the graphite use flag, and fails to emerge with Quote: | /var/tmp/portage/dev-libs/cloog-ppl-0.15.10/work/cloog-ppl-0.15.10/source/names.c: In function 'cloog_names_scalarize':
/var/tmp/portage/dev-libs/cloog-ppl-0.15.10/work/cloog-ppl-0.15.10/source/names.c:526:6: sorry, unimplemented: Graphite loop optimizations cannot be used
make[1]: *** [names.lo] Error 1
make[1]: Leaving directory `/var/tmp/portage/dev-libs/cloog-ppl-0.15.10/work/cloog-ppl-0.15.10_build'
make: *** [all-recursive] Error 1
emake failed | It seems that I need more than this. |
|
Back to top |
|
|
Moonboots Apprentice
Joined: 02 Dec 2006 Posts: 161
|
Posted: Mon Jan 10, 2011 5:36 pm Post subject: |
|
|
Sorry if i didn't make it clear enough, but what i meant was graphite's CFLAGS ie -floop-interchange etc |
|
Back to top |
|
|
Fred Krogh Veteran
Joined: 07 Feb 2005 Posts: 1036 Location: Tujunga, CA
|
Posted: Mon Jan 10, 2011 7:14 pm Post subject: |
|
|
Thanks for making this clear. This solution works for me as well. |
|
Back to top |
|
|
kernelOfTruth Watchman
Joined: 20 Dec 2005 Posts: 6111 Location: Vienna, Austria; Germany; hello world :)
|
|
Back to top |
|
|
rhill Retired Dev
Joined: 22 Oct 2004 Posts: 1629 Location: sk.ca
|
Posted: Mon Jan 10, 2011 10:27 pm Post subject: |
|
|
kernelOfTruth wrote: | anyone using the ~x86 or ~amd64 arch ?
dev-libs/cloog-ppl changed to
dev-libs/ppl (0.11)
and
dev-libs/cloog (0.16.1)
the dependencies haven't been updated / fixed in gcc yet
any experience with that move ? |
uh, no it didn't. ppl was version bumped. so was cloog-ppl. there's no change in dependencies.
you don't need cloog installed, at least not until 4.7 rolls around. _________________ by design, by neglect
for a fact or just for effect |
|
Back to top |
|
|
kernelOfTruth Watchman
Joined: 20 Dec 2005 Posts: 6111 Location: Vienna, Austria; Germany; hello world :)
|
|
Back to top |
|
|
Letharion Veteran
Joined: 13 Jun 2005 Posts: 1344 Location: Sweden
|
Posted: Wed Jan 12, 2011 8:15 am Post subject: |
|
|
Is the official GCC guide still up to date? It hasn't been updated in a while and I thought maybe things have changed since then. http://www.gentoo.org/doc/en/gcc-upgrading.xml
Basically I'm wondering if this is still the recommended approach:
Code: | # emerge -uav gcc
# gcc-config <new gcc>
# env-update && source /etc/profile
# emerge --oneshot -av libtool
# emerge -eav system
# emerge -eav world |
|
|
Back to top |
|
|
asturm Developer
Joined: 05 Apr 2007 Posts: 8936
|
Posted: Wed Jan 12, 2011 4:24 pm Post subject: |
|
|
(Following the) Guide is pointless unless you want to contribute to the stabilisation of a ~arch GCC version. Just ftr, I once read a very sophisticatedly optimised way of rebuilding world that at least didn't rebuild packages twice. Must be lurking around somewhere in the Documentation sub. |
|
Back to top |
|
|
Letharion Veteran
Joined: 13 Jun 2005 Posts: 1344 Location: Sweden
|
Posted: Thu Jan 13, 2011 9:21 am Post subject: |
|
|
genstorm wrote: | (Following the) Guide is pointless unless you want to contribute to the stabilisation of a ~arch GCC version. Just ftr, I once read a very sophisticatedly optimised way of rebuilding world that at least didn't rebuild packages twice. Must be lurking around somewhere in the Documentation sub. |
I feel that what you say and this quote from the guide
Quote: | To be completely safe that your system is in a sane state, you must rebuild the toolchain and then world to make use of the new compiler. | clash a bit. Not saying that you're wrong, but I don't see how both statements ("It's pointless" vs "you must"). can be true. |
|
Back to top |
|
|
asturm Developer
Joined: 05 Apr 2007 Posts: 8936
|
Posted: Thu Jan 13, 2011 9:52 am Post subject: |
|
|
Well "you must" only to "be completely safe".
"It's pointless" is an observation I've made after dozens of minor and major version changes between 4.0.sth and 4.5.2 right now. |
|
Back to top |
|
|
rhill Retired Dev
Joined: 22 Oct 2004 Posts: 1629 Location: sk.ca
|
Posted: Sat Jan 15, 2011 6:46 am Post subject: |
|
|
the `emerge system` then `emerge world` is pretty pointless, but everything else in that list is necessary. there are libraries (including some related to gcc itself (see: cloog-ppl/ppl)) which all need to be built with the same compiler version to work properly together. Qt is a big one if I remember correctly.
plus it makes you guys hit the bugs right away so we have something to do. _________________ by design, by neglect
for a fact or just for effect |
|
Back to top |
|
|
|