Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
gcc-4.8.0-rc1 lto experience
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3  Next  
Reply to topic    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
FireBurn
Apprentice
Apprentice


Joined: 19 Sep 2004
Posts: 170
Location: Edinburgh, UK

PostPosted: Wed Apr 03, 2013 1:32 am    Post subject: Reply with quote

costel78 wrote:
I see now. They are there, are working - at least for v4.8, but simply they are not called when required.
I'll wait until gcc 4.8 hit portage and I'll try to use globally -fno-fat-lto-objects.
Thank you!


I find a lot more packages fail when using -fno-fat-lto-objects with missing symbol errors
Back to top
View user's profile Send private message
firetwister
n00b
n00b


Joined: 09 Feb 2005
Posts: 51

PostPosted: Thu Apr 04, 2013 8:47 am    Post subject: Reply with quote

FireBurn wrote:
I find a lot more packages fail when using -fno-fat-lto-objects with missing symbol errors


How did you enable the gcc-* wrappers?
Some packages will still fail to link, even if they use the wrappers, because they don't care about LDFLAGS, and if there is no -flto and no elf objects (just GIMPLE) to link, this won't work.

I would say this were maybe 30 packages for my system. And these packages won't get lto optimized with -ffat-lto-objects either.
Back to top
View user's profile Send private message
haarp
Guru
Guru


Joined: 31 Oct 2007
Posts: 535

PostPosted: Sat Apr 06, 2013 6:14 am    Post subject: Reply with quote

Does Firefox compile with lto now? It failed on gcc 4.7.2
Back to top
View user's profile Send private message
Randy Andy
Veteran
Veteran


Joined: 19 Jun 2007
Posts: 1148
Location: /dev/koelsch

PostPosted: Sat Apr 06, 2013 9:57 am    Post subject: Reply with quote

haarp,

could be possible that it fails at all, depending on your arch and gcc combination.
So make sure that you're not hit by this bug, as I was. https://bugs.gentoo.org/show_bug.cgi?id=461694
_________________
If you want to see a Distro done right, compile it yourself!
Back to top
View user's profile Send private message
firetwister
n00b
n00b


Joined: 09 Feb 2005
Posts: 51

PostPosted: Sat Apr 06, 2013 8:29 pm    Post subject: Reply with quote

haarp wrote:
Does Firefox compile with lto now? It failed on gcc 4.7.2

No.

You have to use custom-cflags use flag, or else it will just ignore it. The use flag custom-optimization doesn't care about lto.
Back to top
View user's profile Send private message
PuckPoltergeist
Apprentice
Apprentice


Joined: 28 Jul 2004
Posts: 189

PostPosted: Sat Apr 13, 2013 7:15 pm    Post subject: Reply with quote

I'm testing with gcc-4.8.0 (toolchain-overlay) and qtcore compiles fine with lto here. But when qtgui is build with lto, I get invalid opcodes:

traps: konqueror[6143] trap invalid opcode ip:7f548f51da24 sp:7fff0e4a13a0 error:0 in libQtGui.so.4.8.4[7f548f320000+af5000]

Anyone who can confirm this? CFLAGS are:

CFLAGS="-O2 -march=amdfam10 -flto -fuse-linker-plugin -fpredictive-commoning -fgcse-after-reload -ftree-partial-pre -ftree-vectorize -ftracer -fvect-cost-model -pipe"
_________________
printk(KERN_CRIT "Whee.. Swapped out page in kernel page table\n");
linux-2.6.6/mm/vmalloc.c
Back to top
View user's profile Send private message
cruzki123
Apprentice
Apprentice


Joined: 16 May 2008
Posts: 262

PostPosted: Sat Apr 13, 2013 11:12 pm    Post subject: Reply with quote

Hey, gcc-4.8.0 is in tree now!!
Back to top
View user's profile Send private message
PuckPoltergeist
Apprentice
Apprentice


Joined: 28 Jul 2004
Posts: 189

PostPosted: Sat Apr 13, 2013 11:38 pm    Post subject: Reply with quote

cruzki123 wrote:
Hey, gcc-4.8.0 is in tree now!!


Indeed, I've missread the output of eix.
_________________
printk(KERN_CRIT "Whee.. Swapped out page in kernel page table\n");
linux-2.6.6/mm/vmalloc.c
Back to top
View user's profile Send private message
SnEptUne
l33t
l33t


Joined: 23 Aug 2004
Posts: 656

PostPosted: Sun Apr 28, 2013 4:58 pm    Post subject: Reply with quote

PuckPoltergeist wrote:
I'm testing with gcc-4.8.0 (toolchain-overlay) and qtcore compiles fine with lto here. But when qtgui is build with lto, I get invalid opcodes:

traps: konqueror[6143] trap invalid opcode ip:7f548f51da24 sp:7fff0e4a13a0 error:0 in libQtGui.so.4.8.4[7f548f320000+af5000]

Anyone who can confirm this? CFLAGS are:

CFLAGS="-O2 -march=amdfam10 -flto -fuse-linker-plugin -fpredictive-commoning -fgcse-after-reload -ftree-partial-pre -ftree-vectorize -ftracer -fvect-cost-model -pipe"


Hi Poltergeist,

qtGUI compile and run fine with LTO in gcc 4.8. Here's my package.env:

Code:

app-admin/sudo no-lto.conf
app-i18n/ibus-sunpinyin no-lto.conf
app-i18n/sunpinyin no-lto.conf
app-office/libreoffice no-lto.conf
app-text/aspell no-lto.conf
dev-java/antlr no-lto.conf
dev-lang/ocaml no-lto.conf
dev-lang/perl no-lto.conf
dev-lang/python no-lto.conf
dev-lang/spidermonkey no-lto.conf
dev-libs/elf-utils no-lto.conf
dev-libs/elfutils no-lto.conf
dev-python/notify-python no-lto.conf
dev-qt/qtcore no-lto.conf
dev-qt/qtdeclarative no-lto.conf
dev-qt/qtscript no-lto.conf
dev-qt/qtwebkit no-lto.conf
dev-tex/luatex no-lto.conf
dev-util/valgrind no-lto.conf
dev-vcs/cvs no-lto.conf
games-strategy/wesnoth no-lto.conf
kde-base/kcheckpass no-lto.conf
kde-base/kdelibs no-lto.conf
kde-base/kgamma no-lto.conf
media-gfx/inkscape no-lto.conf
media-libs/alsa-lib no-lto.conf
media-libs/flac no-lto.conf
media-libs/mesa no-lto.conf
media-sound/pulseaudio no-lto.conf
media-video/ffmpeg no-lto.conf
media-video/mplayer no-lto.conf
net-analyzer/nmap no-lto.conf
sys-apps/coreutils no-lto.conf
sys-apps/gawk no-lto.conf
sys-apps/pciutils no-lto.conf
sys-apps/sandbox no-lto.conf
sys-apps/shadow no-lto.conf
sys-devel/clang no-lto.conf
sys-devel/distcc no-lto.conf
sys-devel/llvm no-lto.conf
sys-fs/quota no-lto.conf
x11-base/xorg-server no-lto.conf
x11-libs/gtkglext no-lto.conf
x11-libs/xvba-video no-lto.conf
x11-themes/gtk-engines-qt no-lto.conf

_________________
"There will be more joy in heaven over the tear-bathed face of a repentant sinner than over the white robes of a hundred just men." (LM, 114)
Back to top
View user's profile Send private message
PaulBredbury
Watchman
Watchman


Joined: 14 Jul 2005
Posts: 7310

PostPosted: Sun Apr 28, 2013 6:11 pm    Post subject: Reply with quote

2 bits of advice:

gcc 4.8 snapshot 20130425 is desired (as in Arch Linux), to fix memcpy optimization bug in gcc.

The issue with building elfutils 0.155 is not LTO but -Werror, and is fixed by elfutils-0.155-sizeof-pointer-memaccess.patch in Fedora's elfutils.

Edit: Removed my incorrect praise of the "gold" linker's success rate.
_________________
Improve your font rendering and ALSA sound


Last edited by PaulBredbury on Tue Jun 11, 2013 9:08 pm; edited 1 time in total
Back to top
View user's profile Send private message
SnEptUne
l33t
l33t


Joined: 23 Aug 2004
Posts: 656

PostPosted: Sun Apr 28, 2013 6:35 pm    Post subject: Reply with quote

Thanks Paul,

Do we have an ebuild for gcc-4.8 April 25th snapshot? I tried changing the ebuild, but without much success:


Code:

SRC_URI="ftp://gcc.gnu.org/pub/gcc/snapshots/4.8-20130425/gcc-4.8-20130425.tar.bz2"
DESCRIPTION="The GNU Compiler Collection"

MY_PN="gcc"
MY_PV="4.8-20130425"
MY_P="${MY_PN}-${MY_PV}"


It is still trying to use version 4.8.0
_________________
"There will be more joy in heaven over the tear-bathed face of a repentant sinner than over the white robes of a hundred just men." (LM, 114)
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 6111
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Sun Apr 28, 2013 9:45 pm    Post subject: Reply with quote

SnEptUne, if you don't need the hardened patches and other stuff you could try out gcc-4.8.1_pre9999.ebuild from the toolchain overlay

(layman -a toolchain)

that should have latest fixes included
_________________
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 :D
Back to top
View user's profile Send private message
SnEptUne
l33t
l33t


Joined: 23 Aug 2004
Posts: 656

PostPosted: Tue Apr 30, 2013 2:54 am    Post subject: Reply with quote

Thanks for the suggestion kernelOfTruth, but unfortunately the toolchain ebuild is broken:

Code:

_sign_r8.o _sign_r10.o _sign_r16.o _dim_i4.o _dim_i8.o _dim_i16.o _dim_r4.o _dim_r8.o _dim_r10.o _dim_r16.o _atan2_r4.o _atan2_r8.o _atan2_r10.o _atan2_r16.o _mod_i4.o _mod_i8.o _mod_i16.o _mod_r4.o _mod_r8.o _mod_r10.o _mod_r16.o misc_specifics.o dprod_r8.o f2c_specifics.o
libtool: link: /usr/x86_64-pc-linux-gnu/bin/ranlib .libs/libgfortran.a
libtool: link: ( cd ".libs" && rm -f "libgfortran.la" && ln -s "../libgfortran.la" "libgfortran.la" )
make[6]: Leaving directory `/var/portage/portage/sys-devel/gcc-4.8.1_pre9999/work/build/x86_64-pc-linux-gnu/32/libgfortran'
make[5]: Leaving directory `/var/portage/portage/sys-devel/gcc-4.8.1_pre9999/work/build/x86_64-pc-linux-gnu/32/libgfortran'
make[4]: Leaving directory `/var/portage/portage/sys-devel/gcc-4.8.1_pre9999/work/build/x86_64-pc-linux-gnu/libgfortran'
make[3]: Leaving directory `/var/portage/portage/sys-devel/gcc-4.8.1_pre9999/work/build/x86_64-pc-linux-gnu/libgfortran'
make[2]: Leaving directory `/var/portage/portage/sys-devel/gcc-4.8.1_pre9999/work/build/x86_64-pc-linux-gnu/libgfortran'
make[1]: Leaving directory `/var/portage/portage/sys-devel/gcc-4.8.1_pre9999/work/build'
 * Skipping libstdc++ manpage generation since you don't have doxygen installed
>>> Source compiled.
>>> Test phase [not enabled]: sys-devel/gcc-4.8.1_pre9999

>>> Install gcc-4.8.1_pre9999 into /var/portage/portage/sys-devel/gcc-4.8.1_pre9999/image/ category sys-devel
cp: cannot stat ‘/var/portage/portage/sys-devel/gcc-4.8.1_pre9999/work/gcc-4.8.1-9999/gcc/doc/*.info*’: No such file or directory
 * ERROR: sys-devel/gcc-4.8.1_pre9999 failed (install phase):
 *   (no error message)
 *
 * Call stack:
 *     ebuild.sh, line   93:  Called src_install
 *   environment, line 4546:  Called toolchain_src_install
 *   environment, line 5217:  Called die
 * The specific snippet of code:
 *       cp "${S}"/gcc/doc/*.info* gcc/doc/ || die;
 *
 * If you need support, post the output of `emerge --info '=sys-devel/gcc-4.8.1_pre9999'`,
 * the complete build log and the output of `emerge -pqv '=sys-devel/gcc-4.8.1_pre9999'`.
 * This ebuild is from a repository named 'toolchain'
 *
 * Please include /var/portage/portage/sys-devel/gcc-4.8.1_pre9999/work/build/gcc-build-logs.tar.bz2 in your bug report
 *
 * The complete build log is located at '/var/log/portage/sys-devel:gcc-4.8.1_pre9999:20130429-113122.log'.
 * For convenience, a symlink to the build log is located at '/var/portage/portage/sys-devel/gcc-4.8.1_pre9999/temp/build.log'.
 * The ebuild environment file is located at '/var/portage/portage/sys-devel/gcc-4.8.1_pre9999/temp/environment'.
 * Working directory: '/var/portage/portage/sys-devel/gcc-4.8.1_pre9999/work/build'
 * S: '/var/portage/portage/sys-devel/gcc-4.8.1_pre9999/work/gcc-4.8.1-9999'

>>> Failed to emerge sys-devel/gcc-4.8.1_pre9999, Log file:

_________________
"There will be more joy in heaven over the tear-bathed face of a repentant sinner than over the white robes of a hundred just men." (LM, 114)
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 6111
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Tue Apr 30, 2013 10:50 am    Post subject: Reply with quote

SnEptUne wrote:
Thanks for the suggestion kernelOfTruth, but unfortunately the toolchain ebuild is broken:

Code:

_sign_r8.o _sign_r10.o _sign_r16.o _dim_i4.o _dim_i8.o _dim_i16.o _dim_r4.o _dim_r8.o _dim_r10.o _dim_r16.o _atan2_r4.o _atan2_r8.o _atan2_r10.o _atan2_r16.o _mod_i4.o _mod_i8.o _mod_i16.o _mod_r4.o _mod_r8.o _mod_r10.o _mod_r16.o misc_specifics.o dprod_r8.o f2c_specifics.o
libtool: link: /usr/x86_64-pc-linux-gnu/bin/ranlib .libs/libgfortran.a
libtool: link: ( cd ".libs" && rm -f "libgfortran.la" && ln -s "../libgfortran.la" "libgfortran.la" )
make[6]: Leaving directory `/var/portage/portage/sys-devel/gcc-4.8.1_pre9999/work/build/x86_64-pc-linux-gnu/32/libgfortran'
make[5]: Leaving directory `/var/portage/portage/sys-devel/gcc-4.8.1_pre9999/work/build/x86_64-pc-linux-gnu/32/libgfortran'
make[4]: Leaving directory `/var/portage/portage/sys-devel/gcc-4.8.1_pre9999/work/build/x86_64-pc-linux-gnu/libgfortran'
make[3]: Leaving directory `/var/portage/portage/sys-devel/gcc-4.8.1_pre9999/work/build/x86_64-pc-linux-gnu/libgfortran'
make[2]: Leaving directory `/var/portage/portage/sys-devel/gcc-4.8.1_pre9999/work/build/x86_64-pc-linux-gnu/libgfortran'
make[1]: Leaving directory `/var/portage/portage/sys-devel/gcc-4.8.1_pre9999/work/build'
 * Skipping libstdc++ manpage generation since you don't have doxygen installed
>>> Source compiled.
>>> Test phase [not enabled]: sys-devel/gcc-4.8.1_pre9999

>>> Install gcc-4.8.1_pre9999 into /var/portage/portage/sys-devel/gcc-4.8.1_pre9999/image/ category sys-devel
cp: cannot stat ‘/var/portage/portage/sys-devel/gcc-4.8.1_pre9999/work/gcc-4.8.1-9999/gcc/doc/*.info*’: No such file or directory
 * ERROR: sys-devel/gcc-4.8.1_pre9999 failed (install phase):
 *   (no error message)
 *
 * Call stack:
 *     ebuild.sh, line   93:  Called src_install
 *   environment, line 4546:  Called toolchain_src_install
 *   environment, line 5217:  Called die
 * The specific snippet of code:
 *       cp "${S}"/gcc/doc/*.info* gcc/doc/ || die;
 *
 * If you need support, post the output of `emerge --info '=sys-devel/gcc-4.8.1_pre9999'`,
 * the complete build log and the output of `emerge -pqv '=sys-devel/gcc-4.8.1_pre9999'`.
 * This ebuild is from a repository named 'toolchain'
 *
 * Please include /var/portage/portage/sys-devel/gcc-4.8.1_pre9999/work/build/gcc-build-logs.tar.bz2 in your bug report
 *
 * The complete build log is located at '/var/log/portage/sys-devel:gcc-4.8.1_pre9999:20130429-113122.log'.
 * For convenience, a symlink to the build log is located at '/var/portage/portage/sys-devel/gcc-4.8.1_pre9999/temp/build.log'.
 * The ebuild environment file is located at '/var/portage/portage/sys-devel/gcc-4.8.1_pre9999/temp/environment'.
 * Working directory: '/var/portage/portage/sys-devel/gcc-4.8.1_pre9999/work/build'
 * S: '/var/portage/portage/sys-devel/gcc-4.8.1_pre9999/work/gcc-4.8.1-9999'

>>> Failed to emerge sys-devel/gcc-4.8.1_pre9999, Log file:



perhaps the eclass isn't up-to-date in the overlay ?

https://forums.gentoo.org/viewtopic-p-7286364.html?sid=a18feb46dce63b2eb84af5e16b8cb138


edit:

ok, forget it ;)

there isn't even an toolchain.eclass in the overlay - is your portage tree up-to-date ?
_________________
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 :D
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 6111
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Tue Apr 30, 2013 2:18 pm    Post subject: Reply with quote

I got the same error: the weird thing is:

Quote:
[U] sys-apps/texinfo
Available versions: 4.13 (~)4.13-r1 4.13-r2 (~)5.1 {nls static}
Installed versions: 4.13-r2(07:51:12 PM 03/30/2013)(nls -static)
Homepage: http://www.gnu.org/software/texinfo/
Description: The GNU info program and utilities


so I don't even have texinfo 5* installed 8O


edit:

tried the modified "hack" from the bugs.gentoo.org entry and got the error with the modified line

so it's clearly toolchain.eclass related - not sure what's to be fixed this time

or what's causing this
_________________
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 :D
Back to top
View user's profile Send private message
Maitreya
Guru
Guru


Joined: 11 Jan 2006
Posts: 441

PostPosted: Thu May 02, 2013 6:58 pm    Post subject: Reply with quote

Yeah I did not find a way around the texinfo bug so I just commented the generation in the ebuild to at least be able to use the new GCC.
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 6111
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Thu May 02, 2013 9:14 pm    Post subject: Reply with quote

Maitreya wrote:
Yeah I did not find a way around the texinfo bug so I just commented the generation in the ebuild to at least be able to use the new GCC.


care to post what you exactly modified ?

thanks :)
_________________
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 :D
Back to top
View user's profile Send private message
Maitreya
Guru
Guru


Joined: 11 Jan 2006
Posts: 441

PostPosted: Fri May 03, 2013 2:49 pm    Post subject: Reply with quote

Sorry I meant I changed the toochain.eclass and not the ebuild.
It is a dirty workaround so I can fiddle with the new GCC for now.

It's in the "toolchain_src_install" function in toolchain.eclass

Commented out the line

Code:
 
cp "${S}"/gcc/doc/*.info* gcc/doc/ || die


I know I should be chastised for not giving a proper solution :P
Back to top
View user's profile Send private message
Kollin
Veteran
Veteran


Joined: 25 Feb 2006
Posts: 1139
Location: Sofia/Bulgaria

PostPosted: Tue May 21, 2013 4:29 pm    Post subject: Reply with quote

PuckPoltergeist wrote:
I'm testing with gcc-4.8.0 (toolchain-overlay) and qtcore compiles fine with lto here. But when qtgui is build with lto, I get invalid opcodes:

traps: konqueror[6143] trap invalid opcode ip:7f548f51da24 sp:7fff0e4a13a0 error:0 in libQtGui.so.4.8.4[7f548f320000+af5000]

Anyone who can confirm this? CFLAGS are:

CFLAGS="-O2 -march=amdfam10 -flto -fuse-linker-plugin -fpredictive-commoning -fgcse-after-reload -ftree-partial-pre -ftree-vectorize -ftracer -fvect-cost-model -pipe"


And kde fails to start with the following error:

Code:
startkde: Starting up...
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
kded(10721): Communication problem with  "kded" , it probably crashed.
Error message was:  "org.freedesktop.DBus.Error.NoReply" : " "Message did not receive a reply (timeout by message bus)" "


:wink:
_________________
"Dear Enemy: may the Lord hate you and all your kind, may you be turned orange in hue, and may your head fall off at an awkward moment."
"Linux is like a wigwam - no windows, no gates, apache inside..."
Back to top
View user's profile Send private message
darklegion
Guru
Guru


Joined: 14 Nov 2004
Posts: 468

PostPosted: Sun Jun 09, 2013 5:59 am    Post subject: Reply with quote

sci-calculators/calcoo has a massive memory leak (used all 8GB of ram until being killed) with gcc-4.8.1 + lto which didn't occur with 4.7.2. It was fixed by disabling lto. I don't think many people use it but a warning just in case.

Other than than I've found LTO support to be the same or slightly worse than 4.7. Some programs that didn't work before now do; some previously working programs no longer work. Libreoffice now runs with LTO but has runtime failures.
Back to top
View user's profile Send private message
drhirsch
n00b
n00b


Joined: 08 May 2004
Posts: 66
Location: Germany

PostPosted: Tue Jun 11, 2013 9:42 am    Post subject: Reply with quote

I did a rebuild of world wth gcc-4.8.1 and
Code:
-O3 -flto -fno-fat-lto-objects


As a consequence, every package which does not respect LDFLAGS will utterly fail to build. The reasoning is that building with LTO will only produce link time optimized binaries if both optimizations flags (like -O3) and -flto are present during link time. Furthermore, -O3 should really profit from LTO with improved inlining etc. With only -flto in CFLAGS you will maybe get optimized binaries from the optimized object code and if the build system respects LDFLAGS you will even get LTO, but you will never know ;-)

As expected, the number of build failures raises to quite an amount. There are various interesting things happening, as libraries which seem to build fine, but the resulting libs contain no functions at all (!), causing linking errors later, or packages which seem to build fine, but the generated code is -O0 optimized, caused by portage stripping -O3 from the linker command.

This is the list of packages which fail to build with "-fno-fat-lto-objects" on my system. There may be many more.

Code:

app-accessibility/speech-dispatcher no-lto.conf
app-admin/gam-server no-lto.conf
app-admin/sudo no-lto.conf
app-admin/syslog-ng no-lto.conf
app-admin/sysstat no-lto.conf
app-arch/bzip2 no-lto.conf
app-arch/cabextract no-lto.conf
app-arch/cpio no-lto.conf
app-arch/gzip no-lto.conf
app-arch/lha no-lto.conf
app-arch/libarchive no-lto.conf
app-arch/rpm no-lto.conf
app-arch/tar no-lto.conf
app-benchmarks/dbench no-lto.conf
app-benchmarks/sysbench no-lto.conf
app-cdr/cdrdao no-lto.conf
app-crypt/gnupg no-lto.conf
app-crypt/mhash no-lto.conf
app-crypt/pinentry no-lto.conf
app-doc/doxygen no-lto.conf
app-editors/gedit no-lto.conf
app-editors/qemacs no-lto.conf
app-emulation/virtualbox no-lto.conf
app-emulation/wine no-lto.conf
app-misc/geoclue no-lto.conf
app-misc/mc no-lto.conf
app-misc/strigi no-lto.conf
app-office/libreoffice no-lto.conf
app-shells/bash no-lto.conf
app-text/aspell no-lto.conf
app-text/djvu no-lto.conf
app-text/gtkspell no-lto.conf
app-text/hunspell no-lto.conf
app-text/lcdf-typetools no-lto.conf
app-text/rarian no-lto.conf
app-text/texlive-core no-lto.conf
app-text/wdiff no-lto.conf
app-text/xdvik no-lto.conf
dev-cpp/cairomm no-lto.conf
dev-cpp/gflags no-lto.conf
dev-cpp/glibmm no-lto.conf
dev-cpp/glog no-lto.conf
dev-db/mysql no-lto.conf
dev-db/sqlite no-lto.conf
dev-db/sqlite no-lto.conf
dev-db/unixODBC no-lto.conf
dev-java/antlr no-lto.conf
dev-lang/R no-lto.conf
dev-lang/lua no-lto.conf
dev-lang/ocaml no-lto.conf
dev-lang/orc no-lto.conf
dev-lang/perl no-lto.conf
dev-lang/ruby no-lto.conf
dev-lang/spidermonkey no-lto.conf
dev-lang/yasm no-lto.conf
dev-libs/atk no-lto.conf
dev-libs/chmlib no-lto.conf
dev-libs/cyrus-sasl no-lto.conf
dev-libs/dbus-glib no-lto.conf
dev-libs/dotconf no-lto.conf
dev-libs/elfutils no-lto.conf
dev-libs/eventlog no-lto.conf
dev-libs/fribidi no-lto.conf
dev-libs/glib no-lto.conf
dev-libs/gmime no-lto.conf
dev-libs/gmp no-lto.conf
dev-libs/json-c no-lto.conf
dev-libs/libIDL no-lto.conf
dev-libs/libatasmart no-lto.conf
dev-libs/libburn no-lto.conf
dev-libs/libcdio no-lto.conf
dev-libs/libdaemon no-lto.conf
dev-libs/libgpg-error no-lto.conf
dev-libs/libical no-lto.conf
dev-libs/libtasn1 no-lto.conf
dev-libs/libunique no-lto.conf
dev-libs/libusb no-lto.conf
dev-libs/libusb-compat no-lto.conf
dev-libs/libxdg-basedir no-lto.conf
dev-libs/lzo no-lto.conf
dev-libs/popt no-lto.conf
dev-libs/pth no-lto.conf
dev-libs/zziplib no-lto.conf
dev-python/numpy no-lto.conf
dev-python/pygobject no-lto.conf
dev-python/pygtk no-lto.conf
dev-qt/qtcore no-lto.conf
dev-qt/qtgui no-lto.conf
dev-qt/qthelp no-lto.conf
dev-qt/qtscript no-lto.conf
dev-qt/qtwebkit no-lto.conf
dev-tex/luatex no-lto.conf
dev-util/cmake no-lto.conf
dev-util/gperf no-lto.conf
dev-util/insight no-lto.conf
dev-util/kbuild no-lto.conf
dev-util/oprofile no-lto.conf
dev-util/systemtap no-lto.conf
dev-vcs/cvs no-lto.conf
dev-vcs/git no-lto.conf
games-board/gnugo no-lto.conf
games-emulation/dosbox no-lto.conf
games-emulation/hatari no-lto.conf
games-fps/prboom no-lto.conf
games-misc/opengfx no-lto.conf
gnome-base/gconf no-lto.conf
gnome-base/gnome-keyring no-lto.conf
gnome-base/gnome-vfs no-lto.conf
gnome-base/gvfs no-lto.conf
gnome-base/libbonobo no-lto.conf
gnome-base/libbonoboui no-lto.conf
gnome-base/libgnome-keyring no-lto.conf
gnome-base/librsvg no-lto.conf
gnome-base/orbit no-lto.conf
gnome-extra/gnome-system-monitor no-lto.conf
gnome-extra/libgsf no-lto.conf
kde-base/drkonqi no-lto.conf
kde-base/kalgebra no-lto.conf
kde-base/kcachegrind no-lto.conf
kde-base/kdelibs no-lto.conf
kde-base/kdepimlibs no-lto.conf
kde-base/krfb no-lto.conf
kde-base/ksmserver no-lto.conf
kde-base/kstars no-lto.conf
kde-base/ksysguard no-lto.conf
kde-base/ksystemlog no-lto.conf
kde-base/libkdcraw no-lto.conf
mail-client/thunderbird no-lto.conf
media-gfx/blender no-lto.conf
media-gfx/exiv2 no-lto.conf
media-gfx/fontforge no-lto.conf
media-gfx/gimp no-lto.conf
media-gfx/graphviz no-lto.conf
media-gfx/inkscape no-lto.conf
media-gfx/pornview no-lto.conf
media-gfx/povray no-lto.conf
media-gfx/sam2p no-lto.conf
media-gfx/sane-backends no-lto.conf
media-gfx/splashutils no-lto.conf
media-gfx/xsane no-lto.conf
media-libs/a52dec no-lto.conf
media-libs/alsa-lib no-lto.conf
media-libs/faac no-lto.conf
media-libs/flac no-lto.conf
media-libs/giflib no-lto.conf
media-libs/glu no-lto.conf
media-libs/ilmbase no-lto.conf
media-libs/imlib2 no-lto.conf
media-libs/jasper no-lto.conf
media-libs/libao no-lto.conf
media-libs/libass no-lto.conf
media-libs/libcddb no-lto.conf
media-libs/libdca no-lto.conf
media-libs/libdiscid no-lto.conf
media-libs/libdv no-lto.conf
media-libs/libdvdnav no-lto.conf
media-libs/libdvdread no-lto.conf
media-libs/libjpeg-turbo no-lto.conf
media-libs/libmpeg2 no-lto.conf
media-libs/libquicktime no-lto.conf
media-libs/libsdl no-lto.conf
media-libs/libvpx no-lto.conf
media-libs/mesa no-lto.conf
media-libs/openexr no-lto.conf
media-libs/sbc no-lto.conf
media-libs/schroedinger no-lto.conf
media-libs/sdl-image no-lto.conf
media-libs/sdl-mixer no-lto.conf
media-libs/sdl-net no-lto.conf
media-libs/t1lib no-lto.conf
media-libs/x264 no-lto.conf
media-plugins/gst-plugins-v4l2 no-lto.conf
media-plugins/gst-plugins-vorbis no-lto.conf
media-plugins/kipi-plugins no-lto.conf
media-sound/audacity no-lto.conf
media-sound/mpg321 no-lto.conf
media-sound/musepack-tools no-lto.conf
media-sound/pulseaudio no-lto.conf
media-sound/timidity++ no-lto.conf
media-sound/twolame no-lto.conf
media-sound/vorbis-tools no-lto.conf
media-video/dirac no-lto.conf
media-video/ffmpeg no-lto.conf
media-video/mplayer no-lto.conf
media-video/transcode no-lto.conf
media-video/vcdimager no-lto.conf
media-video/xine-ui no-lto.conf
net-analyzer/nmap no-lto.conf
net-analyzer/rrdtool no-lto.conf
net-analyzer/snort no-lto.conf
net-analyzer/traceroute no-lto.conf
net-analyzer/wireshark no-lto.conf
net-dialup/pptpd no-lto.conf
net-dialup/rp-pppoe no-lto.conf
net-dns/avahi no-lto.conf
net-dns/bind-tools no-lto.conf
net-firewall/ipsec-tools no-lto.conf
net-firewall/iptables no-lto.conf
net-fs/nfs-utils no-lto.conf
net-fs/samba no-lto.conf
net-ftp/ncftp no-lto.conf
net-libs/daq no-lto.conf
net-libs/glib-networking no-lto.conf
net-libs/gnutls no-lto.conf
net-libs/libasyncns no-lto.conf
net-libs/libesmtp no-lto.conf
net-libs/libproxy no-lto.conf
net-libs/libvncserver no-lto.conf
net-libs/webkit-gtk no-lto.conf
net-misc/dhcp no-lto.conf
net-misc/ntp no-lto.conf
net-misc/openssh no-lto.conf
net-misc/tor no-lto.conf
net-misc/wget no-lto.conf
net-print/cups no-lto.conf
net-print/gutenprint no-lto.conf
net-wireless/bluez no-lto.conf
net-wireless/bluez no-lto.conf
sci-astronomy/celestia no-lto.conf
sci-astronomy/stellarium no-lto.conf
sci-libs/fftw no-lto.conf
sci-libs/gsl no-lto.conf
sci-libs/libqalculate no-lto.conf
sci-visualization/grace no-lto.conf
sys-apps/acl no-lto.conf
sys-apps/attr no-lto.conf
sys-apps/busybox no-lto.conf
sys-apps/coreutils no-lto.conf
sys-apps/dbus no-lto.conf
sys-apps/diffutils no-lto.conf
sys-apps/file no-lto.conf
sys-apps/findutils no-lto.conf
sys-apps/grep no-lto.conf
sys-apps/groff no-lto.conf
sys-apps/iproute2 no-lto.conf
sys-apps/kmod no-lto.conf
sys-apps/lshw no-lto.conf
sys-apps/mlocate no-lto.conf
sys-apps/net-tools no-lto.conf
sys-apps/pciutils no-lto.conf
sys-apps/sandbox no-lto.conf
sys-apps/sed no-lto.conf
sys-apps/shadow no-lto.conf
sys-apps/tcp-wrappers no-lto.conf
sys-apps/texinfo no-lto.conf
sys-apps/usbutils no-lto.conf
sys-apps/util no-lto.conf
sys-apps/util-linux no-lto.conf
sys-apps/v86d no-lto.conf
sys-apps/which no-lto.conf
sys-apps/xinetd no-lto.conf
sys-auth/consolekit no-lto.conf
sys-auth/polkit no-lto.conf
sys-block/parted no-lto.conf
sys-cluster/openmpi no-lto.conf
sys-devel/bc no-lto.conf
sys-devel/bison no-lto.conf
sys-devel/clang no-lto.conf
sys-devel/flex no-lto.conf
sys-devel/gdb no-lto.conf
sys-devel/gettext no-lto.conf
sys-devel/gettext no-lto.conf
sys-devel/libtool no-lto.conf
sys-devel/llvm no-lto.conf
sys-devel/m4 no-lto.conf
sys-firmware/ipxe no-lto.conf
sys-fs/dmraid no-lto.conf
sys-fs/e2fsprogs no-lto.conf
sys-fs/jfsutils no-lto.conf
sys-fs/lvm2 no-lto.conf
sys-fs/ntfs3g no-lto.conf
sys-fs/reiserfsprogs no-lto.conf
sys-fs/udev no-lto.conf
sys-fs/udisks no-lto.conf
sys-fs/xfsdump no-lto.conf
sys-fs/xfsprogs no-lto.conf
sys-libs/cracklib no-lto.conf
sys-libs/gdbm no-lto.conf
sys-libs/libavc1394 no-lto.conf
sys-libs/libhugetlbfs no-lto.conf
sys-libs/libstdc++-v3 no-lto.conf
sys-libs/ncurses no-lto.conf
sys-libs/zlib no-lto.conf
sys-power/suspend no-lto.conf
sys-power/upower no-lto.conf
sys-process/acct no-lto.conf
sys-process/audit no-lto.conf
sys-process/lsof no-lto.conf
www-client/firefox no-lto.conf
www-client/lynx no-lto.conf
www-client/seamonkey no-lto.conf
www-servers/apache no-lto.conf
x11-apps/xcursorgen no-lto.conf
x11-apps/xsetroot no-lto.conf
x11-apps/xsetroot no-lto.conf
x11-base/xorg-server no-lto.conf
x11-libs/cairo no-lto.conf
x11-libs/gdk-pixbuf no-lto.conf
x11-libs/gtksourceview no-lto.conf
x11-libs/libXcomposite no-lto.conf
x11-libs/libXcursor no-lto.conf
x11-libs/libXdamage no-lto.conf
x11-libs/libXfixes no-lto.conf
x11-libs/libwnck no-lto.conf
x11-libs/motif no-lto.conf
x11-libs/pango no-lto.conf
x11-libs/pixman no-lto.conf
x11-libs/vte no-lto.conf
x11-misc/xaos no-lto.conf
x11-misc/xfractint no-lto.conf
x11-wm/fvwm no-lto.conf
Back to top
View user's profile Send private message
PaulBredbury
Watchman
Watchman


Joined: 14 Jul 2005
Posts: 7310

PostPosted: Thu Jun 13, 2013 5:45 am    Post subject: Reply with quote

drhirsch wrote:
-fno-fat-lto-objects ... causing linking errors later

Yeah! It's a dangerous flag to play with on a live system 8O
Back to top
View user's profile Send private message
drhirsch
n00b
n00b


Joined: 08 May 2004
Posts: 66
Location: Germany

PostPosted: Thu Jun 13, 2013 7:19 am    Post subject: Reply with quote

Actually I would consider "-flto" without "-fno-fat-lto-objects" even more dangerous. If you only use "-flto" you will never know what you actually get (although it seems to compile fine, you may get runtime errors or completely unoptimized code or other soft errors).

With "-fno-fat-lto-objects" you will get a linker error during build, during a dependant package build later or at least an error from ld.so when it tries to load a library with missing symbols. I like those hard errors more :-)

Of course one should never try such things without readily available backup. But as long as "cp" still works you are fine.
Back to top
View user's profile Send private message
costel78
Guru
Guru


Joined: 20 Apr 2007
Posts: 402

PostPosted: Sat Jun 15, 2013 8:45 am    Post subject: Reply with quote

Yes, packages whose does not respect ldflags and compiled with -flto does not get any optimization at all.
But I think a vital flag missing from: -O3 -flto -fno-fat-lto-objects
It's seem that number of failed packages are much lower with -O2 -flto -fno-fat-lto-objects -fuse-linker-plugin. I think it's due -fuse-linker-plugin
_________________
Sorry for my English. I'm still learning this language.
Back to top
View user's profile Send private message
drhirsch
n00b
n00b


Joined: 08 May 2004
Posts: 66
Location: Germany

PostPosted: Sat Jun 15, 2013 9:14 am    Post subject: Reply with quote

From the gcc manual:


Quote:
-fuse-linker-plugin
...
This option is enabled by default when LTO support in GCC is enabled and GCC was configured for use with a linker supporting plugins (GNU ld 2.21 or newer or gold).


Both conditions are true in my case. And indeed, during compilation I can see linker warnings and errors prefixed with "from plugin...".
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Unsupported Software All times are GMT
Goto page Previous  1, 2, 3  Next
Page 2 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum