Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
New gcc LTO support kernel patches post on LWN
View unanswered posts
View posts from last 24 hours

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 2755
Location: Gainesville, Florida

PostPosted: Sun Aug 19, 2012 5:46 pm    Post subject: New gcc LTO support kernel patches post on LWN Reply with quote

I haven't tried enabling LTO for quite a while, but just ran across this new post on LWN. Does this possibly mean that LTO optimization is getting closer to being usable?

Any feedback (pro or con) on what all this means? I have a rarely used (but kept up-to-date) Gentoo "testing" partition on a spare hard drive, and might be tempted to give LTO another try if I can find some spare time.

http://lwn.net/Articles/512335/
_________________
Main box- Gigabyte GIGABYTE GA-990FXA-UD3 AM3+ rev.-4.0
Amd FX 8320, 3.5 GHz, 16GB GSkill DDR3 1866mhz
Samsung SATA 1000GB, Radeon HD 6570 2GB DDR3
Gentoo ~x86, ~amd64, glibc-2.19, gcc-4.9.0, kernel 3.15.5-gentoo (USE=experimental "native")
Back to top
View user's profile Send private message
Veldrin
Veteran
Veteran


Joined: 27 Jul 2004
Posts: 1942
Location: Zurich, Switzerland

PostPosted: Sun Aug 19, 2012 6:20 pm    Post subject: Reply with quote

From just reading the article, and not being an expert on the subject:

It seems, that with LTO a faster (as in smaller) but probably buggier kernel is possible.
another downside is that it need loads of RAM to build.

In parallel I am wondering if the improvements are noticeable, especially on low(er) specs machines.


just my initial thoughts on the subject.
V.
_________________
read the portage output!
If my answer is too concise, ask for an explanation.
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 2755
Location: Gainesville, Florida

PostPosted: Sun Aug 19, 2012 6:53 pm    Post subject: Reply with quote

Veldrin,
Yeah, I'm wondering too.

I found a reference on phoronix,
http://www.phoronix.com/scan.php?page=news_item&px=MTE2MzY

which had a link to the mailing list back and forth of the devs working on this:

https://lkml.org/lkml/2012/8/18/273

Reading some of their comments quickly convinced me that I knew even less about this stuff than I thought I did, which I realized was not very much in the first place.

Obviously, my lack of expertise would not allow me to be of any help. Guess I'll have to wait until gcc-4.8 makes it into Gentoo ~Arch, and try enabling LTO then. One would think that the gcc dev's goal is to eventually enable LTO as the default, since they keep mentioning it in each release version's documentation.

On the other hand, maybe the assumption that LTO is even desirable as a linux/gcc default is incorrect, and just an uninformed misconception I've built up in my own mind... :roll:
_________________
Main box- Gigabyte GIGABYTE GA-990FXA-UD3 AM3+ rev.-4.0
Amd FX 8320, 3.5 GHz, 16GB GSkill DDR3 1866mhz
Samsung SATA 1000GB, Radeon HD 6570 2GB DDR3
Gentoo ~x86, ~amd64, glibc-2.19, gcc-4.9.0, kernel 3.15.5-gentoo (USE=experimental "native")
Back to top
View user's profile Send private message
ssam
n00b
n00b


Joined: 24 Nov 2005
Posts: 13

PostPosted: Mon Aug 20, 2012 12:51 pm    Post subject: Reply with quote

The are several optimisation that can only be performed in the compiler can see all the functions involved. if you do:
Code:

int a = 1;
if (a != 1){ do something }

then the compiler can remove the if statement, as it obviously does not run.

if the code is like:
Code:

void foo(int a){
if (a != 1){ do something }
}
int a = 1;
foo(a);

then it is a bit trickier for the compiler, but optimisation is still possible. the whole function call can be removed.

but if the function definition and call are in separate files, then the compiler has no chance to spot the optimisation. LTO solves that because the compiler can see everything at once.

if you have a look at the "Interprocedural optimization improvements" section in http://gcc.gnu.org/gcc-4.7/changes.html it has some more examples.

of course more aggressive optimisation can expose bugs in code (eg undefined behaviour) or bugs in the compiler. so it may be a while before this is usable.
Back to top
View user's profile Send private message
xming
Guru
Guru


Joined: 02 Jul 2002
Posts: 434

PostPosted: Mon Aug 20, 2012 6:43 pm    Post subject: Reply with quote

I am running a kernel with BFS and LTO build, so far so good.
_________________
http://wojia.be
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 2755
Location: Gainesville, Florida

PostPosted: Mon Aug 20, 2012 9:48 pm    Post subject: Reply with quote

@ssam,
Thanks for the reply- I had looked at this before, but I think your comments have helped me begin to understand it a little more clearly.

@xming,
Could you post a few more details, please? Do you mean you only compiled your kernel with LTO enabled (and are using the kolivas BFS scheduler), or are you also having decent success with doing a complete emerge -e @system and/or @world?

Or, if you're only using an LTO compiled kernel, is there any noticable performance improvement in other non-LTO compile applications at runtime?

Does running an LTO enabled kernel simply reduce the compile time for other packages, and doesn't really impact the general performance of the resulting individual binary packages?
_________________
Main box- Gigabyte GIGABYTE GA-990FXA-UD3 AM3+ rev.-4.0
Amd FX 8320, 3.5 GHz, 16GB GSkill DDR3 1866mhz
Samsung SATA 1000GB, Radeon HD 6570 2GB DDR3
Gentoo ~x86, ~amd64, glibc-2.19, gcc-4.9.0, kernel 3.15.5-gentoo (USE=experimental "native")
Back to top
View user's profile Send private message
xming
Guru
Guru


Joined: 02 Jul 2002
Posts: 434

PostPosted: Mon Aug 20, 2012 9:58 pm    Post subject: Reply with quote

I am running 3.5.2 with LTO and bfs + some other patches. As for packages I don't have lto enabled for all, just some. I can't say if it's faster as I haven't run any benchmarks. All I can say it's rather stable (no issues so far) and it feels a bit smoother.
_________________
http://wojia.be
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 2755
Location: Gainesville, Florida

PostPosted: Mon Aug 20, 2012 10:50 pm    Post subject: Reply with quote

Thanks xming,
Just to clarify, you're enabling LTO for individual packages in /etc/portage/env/, correct?

IIRC, a while back there was a forum thread that started listing packages that could be compiled with LTO enabled, but I've lost track of it.

Anyone think trying an emerge -e @system is worth a shot (with kernel 3.5.2 and gcc-4.7.1) and seeing what fails, considering there might have been some progress in the last year or two since I last attempted this?
_________________
Main box- Gigabyte GIGABYTE GA-990FXA-UD3 AM3+ rev.-4.0
Amd FX 8320, 3.5 GHz, 16GB GSkill DDR3 1866mhz
Samsung SATA 1000GB, Radeon HD 6570 2GB DDR3
Gentoo ~x86, ~amd64, glibc-2.19, gcc-4.9.0, kernel 3.15.5-gentoo (USE=experimental "native")
Back to top
View user's profile Send private message
VoVaN
l33t
l33t


Joined: 02 Jul 2003
Posts: 666
Location: The Netherlands

PostPosted: Tue Aug 21, 2012 6:53 am    Post subject: Reply with quote

wrc1944 wrote:
Thanks xming,
Just to clarify, you're enabling LTO for individual packages in /etc/portage/env/, correct?

IIRC, a while back there was a forum thread that started listing packages that could be compiled with LTO enabled, but I've lost track of it.

Anyone think trying an emerge -e @system is worth a shot (with kernel 3.5.2 and gcc-4.7.1) and seeing what fails, considering there might have been some progress in the last year or two since I last attempted this?


I was just about to give a try, so, generally speaking, I can do this. The only thing is I'm using just stock 3.5.2 kernel instead of Gentoo's. I thing that other CFLAGS (besides -flto) would have great impact or successfull compilation. So below is mine:
Code:

CFLAGS="-march=core2 -mssse3 -O2 -mfpmath=sse -pipe -fomit-frame-pointer -fno-ident -fforce-addr -ftracer -fweb -falign-functions=4 -ftree-vectorize -flto -floop-interchange -floop-strip-mine -floop-block"


Pls, let me know if everything is fine with these CFLAGS above.
Back to top
View user's profile Send private message
xming
Guru
Guru


Joined: 02 Jul 2002
Posts: 434

PostPosted: Tue Aug 21, 2012 9:07 am    Post subject: Reply with quote

wrc1944 wrote:
Thanks xming,
Just to clarify, you're enabling LTO for individual packages in /etc/portage/env/, correct?

IIRC, a while back there was a forum thread that started listing packages that could be compiled with LTO enabled, but I've lost track of it.

Anyone think trying an emerge -e @system is worth a shot (with kernel 3.5.2 and gcc-4.7.1) and seeing what fails, considering there might have been some progress in the last year or two since I last attempted this?


Yes I am using /etc/portage/env/, I was having more packages built with gcc 4.6.x than 4.7, so I had to dial back the lto usage.
_________________
http://wojia.be
Back to top
View user's profile Send private message
ebrsc
n00b
n00b


Joined: 24 Jun 2008
Posts: 31

PostPosted: Tue Aug 21, 2012 3:10 pm    Post subject: Reply with quote

I'm running 3.6-lto on two different x86_64 machines (thinkpad x201+router/firewall) and it's very stable so far. I'll do some few benchmarks soon, network latency seems to have been significantly improved.
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 2755
Location: Gainesville, Florida

PostPosted: Wed Aug 22, 2012 5:34 am    Post subject: Reply with quote

Here's a few new Aug. 21, 2012 benchmarks from Phoronix:

http://www.phoronix.com/scan.php?page=article&item=gcc_471_lto&num=1

Most seem to make little difference, but when it does make a difference on a specific benchmark it's significant, particularly the BYTE Dhyrstone 2 test, where the LTO-optimized binary was about 34% faster.
_________________
Main box- Gigabyte GIGABYTE GA-990FXA-UD3 AM3+ rev.-4.0
Amd FX 8320, 3.5 GHz, 16GB GSkill DDR3 1866mhz
Samsung SATA 1000GB, Radeon HD 6570 2GB DDR3
Gentoo ~x86, ~amd64, glibc-2.19, gcc-4.9.0, kernel 3.15.5-gentoo (USE=experimental "native")
Back to top
View user's profile Send private message
costel78
Apprentice
Apprentice


Joined: 20 Apr 2007
Posts: 193

PostPosted: Mon Aug 27, 2012 6:09 pm    Post subject: Reply with quote

I enabled -lto globally since gcc 4.7.1 was in the portage tree.
Packages which does not compile or are buggy with lto:
/etc/portage/package.env
Code:
app-emulation/virtualbox no-lto.conf
app-office/libreoffice no-lto.conf
app-text/aspell no-lto.conf
app-text/rarian no-lto.conf
dev-db/mariadb no-lto.conf
dev-java/antlr no-lto.conf
dev-lang/fpc no-lto.conf
dev-lang/lazarus no-lto.conf
dev-lang/perl no-lto.conf
dev-lang/spidermonkey no-lto.conf
dev-libs/elfutils no-lto.conf
dev-libs/glib no-lto.conf
dev-python/notify-python no-lto.conf
dev-python/pyorbit no-lto.conf
dev-scheme/guile no-lto.conf
kde-base/kdelibs no-lto.conf
kde-base/okular no-lto.conf
media-libs/alsa-lib no-lto.conf
media-libs/mesa no-lto.conf
media-sound/pulseaudio no-lto.conf
media-sound/wavpack no-lto.conf
media-tv/xbmc no-lto.conf
media-video/ffmpeg no-lto.conf
media-video/mplayer2 no-lto.conf
media-video/mplayer no-lto.conf
net-libs/webkit-gtk no-lto.conf
sys-apps/pciutils no-lto.conf
sys-auth/polkit no-lto.conf
sys-devel/llvm no-lto.conf
x11-base/xorg-server no-lto.conf
x11-libs/qt-webkit no-lto.conf
x11-libs/wxGTK:2.8 no-lto.conf


emerge --info:
Code:
Portage 2.2.0_alpha123 (default/linux/amd64/10.0/no-multilib, gcc-4.7.1, glibc-2.16.0, 3.5.3-gentoo-costel x86_64)
=================================================================
System uname: Linux-3.5.3-gentoo-costel-x86_64-Intel-R-_Core-TM-_i7_CPU_860_@_2.80GHz-with-gentoo-2.2
Timestamp of tree: Mon, 27 Aug 2012 17:30:01 +0000
app-shells/bash:          4.2_p37
dev-java/java-config:     2.1.12
dev-lang/python:          2.7.3-r2, 3.2.3-r1
dev-util/cmake:           2.8.9
dev-util/pkgconfig:       0.27.1
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.10.5
sys-apps/sandbox:         2.6
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.12.3
sys-devel/binutils:       2.22.90
sys-devel/gcc:            4.7.1
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.5 (virtual/os-headers)
sys-libs/glibc:           2.16.0
Repositories: gentoo added
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -floop-interchange -floop-strip-mine -floop-block -flto=8 -fuse-linker-plugin"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/bind /var/lib/hsqldb"
CONFIG_PROTECT_MASK="${EPREFIX}/etc/gconf /etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -floop-interchange -floop-strip-mine -floop-block -flto=8 -fuse-linker-plugin -fpermissive"
DISTDIR="/mnt/linux/distfiles"
EMERGE_DEFAULT_OPTS="--jobs=4 --load-average=10 --keep-going --with-bdeps=y --complete-graph --quiet-build=n --autounmask-write"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs candy collision-protect config-protect-if-modified distlocks fail-clean fixlafiles news nodoc noinfo parallel-fetch parallel-install parse-eapi-ebuild-head preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirrors.xservers.ro/gentoo/ http://ftp.roedu.net/pub/mirrors/gentoo.org/ http://distfiles.gentoo.org/ http://distfiles.gentoo.org"
LANG="ro_RO.UTF-8"
LC_ALL="ro_RO.UTF-8"
LDFLAGS="-Wl,-O1,--sort-common,--hash-style=gnu,--as-needed -O2 -pipe -floop-interchange -floop-strip-mine -floop-block -flto=8 -fuse-linker-plugin"
LINGUAS="ro en"
MAKEOPTS="-j8 --load-average=10"
PKGDIR="/usr/portage/packages"
PORTAGE_COMPRESS="bzip2"
PORTAGE_COMPRESS_FLAGS="-9"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--human-readable --delete-before --progress"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/added"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 bluetooth branding bzip2 cairo cdda cdr cli colord consolekit corefonts cpudetection cracklib crypt cups cxx dbus dri dts dvd dvdr eds emboss encode evo exif fam ffmpeg firefox flac fontconfig fortran gdbm gif gnome gnome-keyring gnome-online-accounts gpm graphviz gstreamer gtk gtk3 iconv icu imagemagick inotify introspection ipv6 ithreads jpeg jpeg2k kde lcms libnotify mad mmx mng mp3 mp4 mpeg mudflap mysql nautilus ncurses networkmanager nls nptl ogg opengl openmp pam pango pch pcre pdf png policykit postgres ppds pulseaudio qt3support qt4 readline sasl sdl session spell sse sse2 ssl ssse3 ssse4 startup-notification svg systemd tcpd theora threads tiff truetype udev udisks unicode upower usb vdpau vhosts vorbis wxwidgets x264 xcb xinerama xml xorg xv xvid zlib" ALSA_CARDS="virtuoso hda-intel" 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 cgi cgid 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 auth_digest ident imagemap log_forensic reqtimeout substitute version" APACHE2_MPMS="worker" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="ro en" NETBEANS_MODULES="apisupport java javafx php profiler websvccommon" PHP_TARGETS="php5-4" PYTHON_TARGETS="python3_2 python2_7" RUBY_TARGETS="ruby19" USERLAND="GNU" VIDEO_CARDS="nv nvidia" 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, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, USE_PYTHON


The system is rock stable. I haven't had any problem regarding lto, other than not compile with lto (except glib, but it was a know issue). Binaries are smaller. Is it faster ? Well, I don't know. It's not noticeable. I have an CPU still powerful and my system is on an SSD, so... it's hard to notice a speed improvement without benchmarks.
_________________
Sorry for my English. I'm still learning this language.
Back to top
View user's profile Send private message
genstorm
Advocate
Advocate


Joined: 05 Apr 2007
Posts: 2444
Location: Austria

PostPosted: Mon Aug 27, 2012 6:15 pm    Post subject: Reply with quote

@costel78: To me it would be worth knowing what version of virtualbox you managed to build with gcc-4.7.1 - by chance, does dev86 build successfully too?
_________________
backend.cpp:92:2: warning: #warning TODO - this error message is about as useful as a cooling unit in the arctic
Back to top
View user's profile Send private message
mv
Advocate
Advocate


Joined: 20 Apr 2005
Posts: 4009

PostPosted: Mon Aug 27, 2012 6:35 pm    Post subject: Reply with quote

The list of packages which do not compile with -lto is not really shrinking. In fact, with newer versions of packages and gcc-4.7.1, I even had to add some. Here is my current list for filtering -flto and related flags:
Code:
*-libs/* +fwhole-program
*-plugins/* +fwhole-program
app-admin/sudo +fwhole-program
app-arch/bzip2 +flto* +fuse-linker-plugin +fwhole-program
app-arch/cpio +flto* +fuse-linker-plugin +fwhole-program
app-arch/p7zip +flto* +fuse-linker-plugin +fwhole-program
app-arch/par2cmdline +flto* +fuse-linker-plugin +fwhole-program
app-arch/sharutils +fwhole-program
app-arch/star +flto* +fuse-linker-plugin +fwhole-program
app-arch/tar +fwhole-program
app-arch/unrar +flto* +fuse-linker-plugin +fwhole-program
app-arch/unzip +fwhole-program
app-arch/zpaq +fwhole-program
app-backup/dar +flto* +fuse-linker-plugin +fwhole-program
app-cdr/cdrtools +flto* +fuse-linker-plugin +fwhole-program
app-cdr/k3b +flto* +fuse-linker-plugin +fwhole-program
app-crypt/gnupg +fwhole-program
app-crypt/pinentry +fwhole-program
app-crypt/qca +flto* +fuse-linker-plugin +fwhole-program
app-editors/kile +flto* +fuse-linker-plugin +fwhole-program
app-editors/vim +flto* +fuse-linker-plugin +fwhole-program
app-emulation/bochs +flto* +fuse-linker-plugin +fwhole-program
app-emulation/dosemu +flto* +fuse-linker-plugin +fwhole-program
app-emulation/vice +flto* +fuse-linker-plugin +fwhole-program
app-emulation/wine +flto* +fuse-linker-plugin +fwhole-program
app-misc/lirc +fwhole-program
app-misc/mc +fwhole-program
app-misc/strigi +flto* +fuse-linker-plugin +fwhole-program
#app-misc/tmux +flto* +fuse-linker-plugin +fwhole-program
app-office/calligra +flto* +fuse-linker-plugin +fwhole-program
app-office/libreoffice +flto* +fuse-linker-plugin +fwhole-program
app-shells/bash +flto* +fuse-linker-plugin +fwhole-program
app-shells/zsh +flto* +fuse-linker-plugin +fwhole-program
app-text/a2ps +fwhole-program
app-text/aspell +flto* +fuse-linker-plugin +fwhole-program
app-text/convertlit +fwhole-program
app-text/djvu +flto* +fuse-linker-plugin +fwhole-program
app-text/dvipsk +flto* +fuse-linker-plugin +fwhole-program
app-text/ebook-tools +fwhole-program
app-text/ghostscript-gpl +flto* +fuse-linker-plugin +fwhole-program
app-text/gocr +fwhole-program
app-text/hunspell +flto* +fuse-linker-plugin +fwhole-program
app-text/poppler +flto* +fuse-linker-plugin +fwhole-program
app-text/ps2pkm +flto* +fuse-linker-plugin +fwhole-program
app-text/rarian +flto* +fuse-linker-plugin +fwhole-program
app-text/recode +fwhole-program
app-text/sablotron +flto* +fuse-linker-plugin +fwhole-program
app-text/stardict +flto* +fuse-linker-plugin +fwhole-program
app-text/teckit +flto* +fuse-linker-plugin +fwhole-program
app-text/texlive-core +flto* +fuse-linker-plugin +fwhole-program
app-text/unpaper +flto* +fuse-linker-plugin +fwhole-program
app-text/wdiff +fwhole-program
app-text/xdvik +flto* +fuse-linker-plugin +fwhole-program
app-text/zathura* +fwhole-program
dev-cpp/atkmm +flto* +fuse-linker-plugin +fwhole-program
dev-cpp/cairomm +flto* +fuse-linker-plugin +fwhole-program
dev-cpp/clucene +flto* +fuse-linker-plugin +fwhole-program
dev-cpp/glibmm +flto* +fuse-linker-plugin +fwhole-program
dev-cpp/gtkmm +flto* +fuse-linker-plugin +fwhole-program
dev-cpp/libxmlpp +flto* +fuse-linker-plugin +fwhole-program
dev-cpp/pangomm +flto* +fuse-linker-plugin +fwhole-program
dev-db/sqlite +flto* +fuse-linker-plugin +fwhole-program
dev-games/flatzebra +flto* +fuse-linker-plugin +fwhole-program
dev-java/icedtea* +flto* +fuse-linker-plugin +fwhole-program
dev-lang/lua +flto* +fuse-linker-plugin +fwhole-program
dev-lang/orc +flto* +fuse-linker-plugin +fwhole-program
dev-lang/perl +flto* +fuse-linker-plugin +fwhole-program
dev-lang/python +flto* +fuse-linker-plugin +fwhole-program
dev-lang/ruby +flto* +fuse-linker-plugin +fwhole-program
dev-lang/tcl +flto* +fuse-linker-plugin +fwhole-program
dev-lang/tk +flto* +fuse-linker-plugin +fwhole-program
dev-libs/boost +flto* +fuse-linker-plugin +fwhole-program
dev-libs/dbus-glib +flto* +fuse-linker-plugin +fwhole-program
dev-libs/elfutils +flto* +fuse-linker-plugin +fwhole-program
dev-libs/glib +flto* +fuse-linker-plugin +fwhole-program
dev-libs/gmp +flto* +fuse-linker-plugin +fwhole-program
dev-libs/libcdio +flto* +fuse-linker-plugin +fwhole-program
dev-libs/libpcre +flto* +fuse-linker-plugin +fwhole-program
dev-libs/libsigc++ +flto* +fuse-linker-plugin +fwhole-program
dev-libs/libusb +flto* +fuse-linker-plugin +fwhole-program
dev-libs/nspr +flto* +fuse-linker-plugin +fwhole-program
dev-libs/openssl +flto* +fuse-linker-plugin +fwhole-program
dev-libs/ppl +flto* +fuse-linker-plugin +fwhole-program
dev-libs/rlog +flto* +fuse-linker-plugin +fwhole-program
dev-libs/skalibs +flto* +fuse-linker-plugin +fwhole-program
dev-libs/xerces-c +flto* +fuse-linker-plugin +fwhole-program
dev-libs/zziplib +flto* +fuse-linker-plugin +fwhole-program
dev-lisp/clisp +flto* +fuse-linker-plugin +fwhole-program
dev-perl/* +flto* +fuse-linker-plugin +fwhole-program
dev-python/* +flto* +fuse-linker-plugin +fwhole-program
dev-scheme/guile +flto* +fuse-linker-plugin +fwhole-program
dev-tcltk/expect +flto* +fuse-linker-plugin +fwhole-program
dev-tex/luatex +flto* +fuse-linker-plugin +fwhole-program
dev-util/bdelta +flto* +fuse-linker-plugin +fwhole-program
dev-util/cmake +flto* +fuse-linker-plugin +fwhole-program
dev-util/dialog +flto* +fuse-linker-plugin +fwhole-program
dev-util/ltrace +flto* +fuse-linker-plugin +fwhole-program
dev-util/schroot +flto* +fuse-linker-plugin +fwhole-program
dev-util/valgrind +fwhole-program
dev-vcs/cvs +fwhole-program
dev-vcs/git +flto* +fuse-linker-plugin +fwhole-program
dev-vcs/mercurial +flto* +fuse-linker-plugin +fwhole-program
dev-vcs/monotone +flto* +fuse-linker-plugin +fwhole-program
dev-vcs/subversion +flto* +fuse-linker-plugin +fwhole-program
games-action/gltron +flto* +fuse-linker-plugin +fwhole-program
games-arcade/kobodeluxe +fwhole-program
games-arcade/lbreakout +flto* +fuse-linker-plugin +fwhole-program
games-arcade/rocksndiamonds +fwhole-program
games-arcade/xgalaga +fwhole-program
games-board/xboard +flto* +fuse-linker-plugin +fwhole-program
games-emulation/advancemame +fwhole-program
games-emulation/dosbox +flto* +fuse-linker-plugin +fwhole-program
games-emulation/sdlmame +flto* +fuse-linker-plugin +fwhole-program
games-emulation/xmame +flto* +fuse-linker-plugin +fwhole-program
games-emulation/xmess +flto* +fuse-linker-plugin +fwhole-program
games-engines/scummvm +flto* +fuse-linker-plugin +fwhole-program
games-engines/scummvm-tools +flto* +fuse-linker-plugin +fwhole-program
games-fps/doomsday +flto* +fuse-linker-plugin +fwhole-program
games-fps/prboom +flto* +fuse-linker-plugin +fwhole-program
games-puzzle/enigma +flto* +fuse-linker-plugin +fwhole-program
games-rpg/freedroidrpg +flto* +fuse-linker-plugin +fwhole-program
gnome-base/libglade +flto* +fuse-linker-plugin +fwhole-program
kde-base/* +flto* +fuse-linker-plugin +fwhole-program
mail-client/claws-mail +flto* +fuse-linker-plugin +fwhole-program
mail-client/pine +fwhole-program
mail-filter/maildrop +fwhole-program
media-gfx/exiv2 +flto* +fuse-linker-plugin +fwhole-program
media-gfx/gimp +flto* +fuse-linker-plugin +fwhole-program
media-gfx/graphicsmagick +flto* +fuse-linker-plugin +fwhole-program
media-gfx/graphviz +flto* +fuse-linker-plugin +fwhole-program
media-gfx/imagemagick +flto* +fuse-linker-plugin +fwhole-program
media-gfx/pstoedit +flto* +fuse-linker-plugin +fwhole-program
media-gfx/sam2p +flto* +fuse-linker-plugin +fwhole-program
media-gfx/sane-backends +flto* +fuse-linker-plugin +fwhole-program
media-gfx/transfig +flto* +fuse-linker-plugin +fwhole-program
media-gfx/xv +flto* +fuse-linker-plugin +fwhole-program
media-libs/alsa-lib +flto* +fuse-linker-plugin +fwhole-program
media-libs/flac +flto* +fuse-linker-plugin +fwhole-program
media-libs/freetype +flto* +fuse-linker-plugin +fwhole-program
media-libs/giflib +flto* +fuse-linker-plugin +fwhole-program
media-libs/gstreamer +flto* +fuse-linker-plugin +fwhole-program
media-libs/jbigkit +flto* +fuse-linker-plugin +fwhole-program
media-libs/jpeg +flto* +fuse-linker-plugin +fwhole-program
media-libs/libcaca +flto* +fuse-linker-plugin +fwhole-program
media-libs/libdvbpsi +flto* +fuse-linker-plugin +fwhole-program
media-libs/libdvdnav +flto* +fuse-linker-plugin +fwhole-program
media-libs/libdvdread +flto* +fuse-linker-plugin +fwhole-program
media-libs/liblastfm +flto* +fuse-linker-plugin +fwhole-program
media-libs/libmodplug +flto* +fuse-linker-plugin +fwhole-program
media-libs/libmp4v2 +flto* +fuse-linker-plugin +fwhole-program
media-libs/libpng +flto* +fuse-linker-plugin +fwhole-program
media-libs/libsidplay +flto* +fuse-linker-plugin +fwhole-program
media-libs/libsndfile +flto* +fuse-linker-plugin +fwhole-program
media-libs/libv4l +flto* +fuse-linker-plugin +fwhole-program
media-libs/libvpx +flto* +fuse-linker-plugin +fwhole-program
media-libs/mediastreamer +flto* +fuse-linker-plugin +fwhole-program
media-libs/mesa +flto* +fuse-linker-plugin +fwhole-program
media-libs/musicbrainz +flto* +fuse-linker-plugin +fwhole-program
media-libs/netpbm +flto* +fuse-linker-plugin +fwhole-program
media-libs/opencore-amr +flto* +fuse-linker-plugin +fwhole-program
media-libs/openjpeg +flto* +fuse-linker-plugin +fwhole-program
media-libs/phonon +flto* +fuse-linker-plugin +fwhole-program
media-libs/plotutils +flto* +fuse-linker-plugin +fwhole-program
media-libs/raptor +flto* +fuse-linker-plugin +fwhole-program
media-libs/schroedinger +flto* +fuse-linker-plugin +fwhole-program
media-libs/silgraphite +flto* +fuse-linker-plugin +fwhole-program
media-libs/smpeg +flto* +fuse-linker-plugin +fwhole-program
media-libs/t1lib +flto* +fuse-linker-plugin +fwhole-program
media-libs/tiff +flto* +fuse-linker-plugin +fwhole-program
media-libs/x264 +flto* +fuse-linker-plugin +fwhole-program
media-libs/zvbi +flto* +fuse-linker-plugin +fwhole-program
media-plugins/live +flto* +fuse-linker-plugin +fwhole-program
media-sound/audacity +flto* +fuse-linker-plugin +fwhole-program
media-sound/audex +flto* +fuse-linker-plugin +fwhole-program
media-sound/cdparanoia +flto* +fuse-linker-plugin +fwhole-program
media-sound/gsm +flto* +fuse-linker-plugin +fwhole-program
media-sound/kradio +flto* +fuse-linker-plugin +fwhole-program
media-sound/kstreamripper +flto* +fuse-linker-plugin +fwhole-program
media-sound/lilypond +flto* +fuse-linker-plugin +fwhole-program
media-sound/musepack-tools +fwhole-program
media-sound/normalize +flto* +fuse-linker-plugin +fwhole-program
media-sound/qmmp +fwhole-program
media-sound/timidity++ +flto* +fuse-linker-plugin +fwhole-program
media-sound/vorbis-tools +flto* +fuse-linker-plugin +fwhole-program
media-sound/xmms2 +flto* +fuse-linker-plugin +fwhole-program
media-tv/kdetv +flto* +fuse-linker-plugin +fwhole-program
media-tv/v4l-utils +flto* +fuse-linker-plugin +fwhole-program
media-tv/xawtv +flto* +fuse-linker-plugin +fwhole-program
media-video/avidemux +flto* +fuse-linker-plugin +fwhole-program
media-video/cclive +flto* +fuse-linker-plugin +fwhole-program
media-video/dirac +flto* +fuse-linker-plugin +fwhole-program
media-video/ffmpeg +flto* +fuse-linker-plugin +fwhole-program
media-video/ffmpegthumbnailer +flto* +fuse-linker-plugin +fwhole-program
media-video/gnome-mplayer +fwhole-program
media-video/kaffeine +flto* +fuse-linker-plugin +fwhole-program
media-video/libav +flto* +fuse-linker-plugin +fwhole-program
media-video/mjpegtools +flto* +fuse-linker-plugin +fwhole-program
media-video/mplayer +flto* +fuse-linker-plugin +fwhole-program
media-video/mplayer2 +flto* +fuse-linker-plugin +fwhole-program
media-video/transcode +flto* +fuse-linker-plugin +fwhole-program
media-video/vlc +flto* +fuse-linker-plugin +fwhole-program
media-video/xine-ui +flto* +fuse-linker-plugin +fwhole-program
net-analyzer/wireshark +flto* +fuse-linker-plugin +fwhole-program
net-dialup/ppp +flto* +fuse-linker-plugin +fwhole-program
net-dns/libidn +fwhole-program
net-dns/pdnsd +flto* +fuse-linker-plugin +fwhole-program
net-firewall/ipsec-tools +fwhole-program
net-firewall/iptables +flto* +fuse-linker-plugin +fwhole-program
net-ftp/lftp +flto* +fuse-linker-plugin +fwhole-program
net-libs/gnutls +flto* +fuse-linker-plugin +fwhole-program
net-libs/libetpan +flto* +fuse-linker-plugin +fwhole-program
net-libs/libpcap +flto* +fuse-linker-plugin +fwhole-program
net-libs/libsrtp +flto* +fuse-linker-plugin +fwhole-program
net-libs/opal +flto* +fuse-linker-plugin +fwhole-program
net-libs/ptlib +flto* +fuse-linker-plugin +fwhole-program
net-libs/wvstreams +flto* +fuse-linker-plugin +fwhole-program
net-mail/uw-mailutils +fwhole-program
net-misc/curl +flto* +fuse-linker-plugin +fwhole-program
net-misc/iputils +flto* +fuse-linker-plugin +fwhole-program
net-misc/nx +flto* +fuse-linker-plugin +fwhole-program
net-misc/nxcl +flto* +fuse-linker-plugin +fwhole-program
net-misc/openssh +flto* +fuse-linker-plugin +fwhole-program
net-misc/tor +flto* +fuse-linker-plugin +fwhole-program
net-p2p/ktorrent +flto* +fuse-linker-plugin +fwhole-program
net-print/cups +flto* +fuse-linker-plugin +fwhole-program
net-print/foo2zjs +flto* +fuse-linker-plugin +fwhole-program
net-voip/ekiga +flto* +fuse-linker-plugin +fwhole-program
net-voip/yate +flto* +fuse-linker-plugin +fwhole-program
perl-core/* +flto* +fuse-linker-plugin +fwhole-program
sci-libs/cln +flto* +fuse-linker-plugin +fwhole-program
sci-libs/gdal +flto* +fuse-linker-plugin +fwhole-program
sci-libs/libgeotiff +flto* +fuse-linker-plugin +fwhole-program
sci-libs/qrupdate +flto* +fuse-linker-plugin +fwhole-program
sci-mathematics/axiom +flto* +fuse-linker-plugin +fwhole-program
sci-mathematics/ginac +flto* +fuse-linker-plugin +fwhole-program
sci-mathematics/glpk +flto* +fuse-linker-plugin +fwhole-program
sci-mathematics/octave +flto* +fuse-linker-plugin +fwhole-program
sci-mathematics/pari +flto* +fuse-linker-plugin +fwhole-program
sci-mathematics/scilab +flto* +fuse-linker-plugin +fwhole-program
sci-visualization/gnuplot +flto* +fuse-linker-plugin +fwhole-program
sys-apps/busybox +flto* +fuse-linker-plugin +fwhole-program
sys-apps/coreutils +fwhole-program
sys-apps/dbus +flto* +fuse-linker-plugin +fwhole-program
sys-apps/fakeroot-ng +fwhole-program
sys-apps/findutils +fwhole-program
sys-apps/gawk +flto* +fuse-linker-plugin +fwhole-program
sys-apps/grep +fwhole-program
sys-apps/groff +fwhole-program
sys-apps/hdparm +flto* +fuse-linker-plugin +fwhole-program
sys-apps/iproute2 +fwhole-program
sys-apps/less* +flto* +fuse-linker-plugin +fwhole-program
sys-apps/module-init-tools +fwhole-program
sys-apps/openrc +flto +fuse-linker-plugin +fwhole-program
sys-apps/pciutils +flto* +fuse-linker-plugin +fwhole-program
sys-apps/sandbox +fwhole-program
sys-apps/shadow +flto* +fuse-linker-plugin +fwhole-program
sys-apps/sysvinit +flto* +fuse-linker-plugin +fwhole-program
sys-apps/util-linux +flto* +fuse-linker-plugin +fwhole-program
sys-apps/which +flto* +fuse-linker-plugin +fwhole-program
sys-auth/polkit +flto* +fuse-linker-plugin +fwhole-program
sys-auth/polkit-qt +flto* +fuse-linker-plugin +fwhole-program
sys-devel/bc +fwhole-program
sys-devel/clang +flto* +fuse-linker-plugin +fwhole-program # -flto needs >3GB here
sys-devel/flex +flto* +fuse-linker-plugin +fwhole-program
sys-devel/gettext +flto* +fuse-linker-plugin +fwhole-program
sys-devel/libtool +flto* +fuse-linker-plugin +fwhole-program
sys-devel/llvm +flto* +fuse-linker-plugin +fwhole-program
sys-fs/ddrescue +flto* +fuse-linker-plugin +fwhole-program
sys-fs/dosfstools +flto* +fuse-linker-plugin +fwhole-program
sys-fs/e2fsprogs +flto* +fuse-linker-plugin +fwhole-program
sys-fs/encfs +flto* +fuse-linker-plugin +fwhole-program
sys-fs/ext4magic +flto* +fuse-linker-plugin +fwhole-program
sys-fs/lvm2 +flto* +fuse-linker-plugin +fwhole-program
sys-fs/mtools +flto* +fuse-linker-plugin +fwhole-program
sys-fs/squashfs-tools +flto* +fuse-linker-plugin +fwhole-program
sys-fs/udev +flto* +fuse-linker-plugin +fwhole-program
sys-fs/udftools +flto* +fuse-linker-plugin +fwhole-program
sys-fs/udisks +flto* +fuse-linker-plugin +fwhole-program
sys-fs/unionfs-fuse +flto* +fuse-linker-plugin +fwhole-program
sys-kernel/kccmp +flto* +fuse-linker-plugin +fwhole-program
sys-libs/e2fsprogs-libs +flto* +fuse-linker-plugin +fwhole-program
sys-libs/glibc +flto* +fuse-linker-plugin +fwhole-program
sys-libs/gpm +flto* +fuse-linker-plugin +fwhole-program
sys-libs/libcap +flto* +fuse-linker-plugin +fwhole-program
sys-libs/ncurses +flto* +fuse-linker-plugin +fwhole-program
sys-libs/slang +flto* +fuse-linker-plugin +fwhole-program
sys-libs/zlib +flto* +fuse-linker-plugin +fwhole-program
sys-power/hibernate-script +fwhole-program
sys-power/upower +flto* +fuse-linker-plugin +fwhole-program
sys-process/lsof +fwhole-program
sys-process/numactl +flto* +fuse-linker-plugin +fwhole-program
sys-process/procps +flto* +fuse-linker-plugin +fwhole-program
www-client/dillo +flto* +fuse-linker-plugin +fwhole-program
www-client/firefox +flto* +fuse-linker-plugin +fwhole-program
www-client/lynx +fwhole-program
www-plugins/gnash +flto* +fuse-linker-plugin +fwhole-program
www-plugins/mozplugger +flto* +fuse-linker-plugin +fwhole-program
x11-apps/xrandr +flto* +fuse-linker-plugin +fwhole-program
x11-base/xorg-server +flto* +fuse-linker-plugin +fwhole-program
x11-libs/fltk +flto* +fuse-linker-plugin +fwhole-program
x11-libs/gdk-pixbuf +flto* +fuse-linker-plugin +fwhole-program
x11-libs/gtkglext +flto* +fuse-linker-plugin +fwhole-program
x11-libs/libX11 +flto* +fuse-linker-plugin +fwhole-program
x11-libs/libXaw3d +flto* +fuse-linker-plugin +fwhole-program
x11-libs/libvdpau +flto* +fuse-linker-plugin +fwhole-program
x11-libs/libwnck +flto* +fuse-linker-plugin +fwhole-program
x11-libs/openmotif +flto* +fuse-linker-plugin +fwhole-program
x11-libs/pango +flto* +fuse-linker-plugin +fwhole-program
x11-libs/qt-* +flto* +fuse-linker-plugin +fwhole-program
x11-libs/wxGTK +flto* +fuse-linker-plugin +fwhole-program
x11-misc/xfractint +flto* +fuse-linker-plugin +fwhole-program
x11-misc/xscreensaver +flto* +fuse-linker-plugin +fwhole-program
x11-wm/fvwm +flto* +fuse-linker-plugin +fwhole-program
xfce-base/garcon +flto* +fuse-linker-plugin +fwhole-program
xfce-base/libxfce4ui +flto* +fuse-linker-plugin +fwhole-program
xfce-base/libxfce4util +flto* +fuse-linker-plugin +fwhole-program
xfce-base/libxfcegui4 +flto* +fuse-linker-plugin +fwhole-program
xfce-base/thunar +flto* +fuse-linker-plugin +fwhole-program
xfce-base/xfconf +flto* +fuse-linker-plugin +fwhole-program
My experience is that everything which compiles with LTO also runs without problems. However, for many packages, I get warnings related to -D_FORTIFY_SOURCE=2 (e.g. warnings about possibly transposed arguments of memset) which do not occur without flto and which are hard to reproduce (e.g. I realized that they depend on the order of includes of standard libraries). I have not tried vanilla gcc, i.e. it could be that this problem is only related with gentoo's patches concerning D_FORTIFY_SOURCE.

Last edited by mv on Mon Aug 27, 2012 6:40 pm; edited 1 time in total
Back to top
View user's profile Send private message
costel78
Apprentice
Apprentice


Joined: 20 Apr 2007
Posts: 193

PostPosted: Mon Aug 27, 2012 6:35 pm    Post subject: Reply with quote

Unfortunately I'm on no-multilib profile so I'm able to use just virtualbox-bin, but I just tested it and sys-devel/dev86-0.16.18 emerge was successfully.
_________________
Sorry for my English. I'm still learning this language.
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2732
Location: Bay Area, CA

PostPosted: Tue Aug 28, 2012 5:30 am    Post subject: Reply with quote

I wonder how many of these packages are failing because of:

Quote:
Link-time optimization does not work well with generation of debugging information. Combining -flto with -g is currently experimental and expected to produce wrong results.
Back to top
View user's profile Send private message
mv
Advocate
Advocate


Joined: 20 Apr 2005
Posts: 4009

PostPosted: Tue Aug 28, 2012 3:03 pm    Post subject: Reply with quote

devsk wrote:
I wonder how many of these packages are failing because of:

Quote:
Link-time optimization does not work well with generation of debugging information. Combining -flto with -g is currently experimental and expected to produce wrong results.

Probably none. I would guess the "expected to produce wrong results" refer to broken debugging information. However, even if it does not: I doubt that many packages add -g by themselves to CFLAGS, and AFAIK neither do gentoo's gcc patches nor portage if used in "normal" mode.
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2732
Location: Bay Area, CA

PostPosted: Tue Aug 28, 2012 4:00 pm    Post subject: Reply with quote

mv wrote:
devsk wrote:
I wonder how many of these packages are failing because of:

Quote:
Link-time optimization does not work well with generation of debugging information. Combining -flto with -g is currently experimental and expected to produce wrong results.

Probably none. I would guess the "expected to produce wrong results" refer to broken debugging information. However, even if it does not: I doubt that many packages add -g by themselves to CFLAGS, and AFAIK neither do gentoo's gcc patches nor portage if used in "normal" mode.
I have not been able to figure this out. May be u can help. Parts of firefox build are done using "-g". And those parts fail to build when CFLAGS/CXXFLAGS have -flto also. Are you able to build firefox with -flto? I have the "custom-cflags custom-optimization" USE flags for firefox and use package.env to set lto.
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2732
Location: Bay Area, CA

PostPosted: Wed Aug 29, 2012 4:27 am    Post subject: Reply with quote

This is the error I am talking about. Anybody got any ideas?
Code:
/usr/bin/python2.7 /tmp/portage/portage/www-client/firefox-15.0_beta5/work/mozilla-beta/js/src/config/pythonpath.py -I../config /tmp/portage/portage/www-client/firefox-15.0_beta5/work/mozilla-beta/js/src/config/expandlibs_exec.py --uselist --  i686-pc-linux-gnu-g++ -o js  -fno-rtti -Wall -Wpointer-arith -Woverloaded-virtual -Werror=return-type -Wtype-limits -Wempty-body -Wno-ctor-dtor-privacy -Wno-overlength-strings -Wno-invalid-offsetof -Wno-variadic-macros -Wcast-align -march=core2 -msse2 -msse3 -msse -fforce-addr -fomit-frame-pointer -pipe -ftracer -flto -fno-tracer -g0 -mno-avx -ffunction-sections -fdata-sections -pthread -pipe  -DNDEBUG -DTRIMMED -g -O2 -fomit-frame-pointer js.o jsworkers.o jsoptparse.o jsheaptools.o   -lpthread -Wl,-O1 -Wl,--as-needed -Wl,-O1 -Wl,--enable-new-dtags -Wl,--as-needed -Wl,--hash-style=gnu -flto   -Wl,-rpath-link,../../../dist/bin -Wl,-rpath-link,/tmp/portage/portage/www-client/firefox-15.0_beta5/work/mozilla-beta/obj-x86_64-unknown-linux-gnu/dist/lib   -L../../../dist/bin -L../../../dist/lib -Wl,-R/usr/lib -L/usr/lib -lplds4 -lplc4 -lnspr4 -lpthread -ldl ../editline/libeditline.a ../libjs_static.a -Wl,--whole-archive ../../../dist/lib/libmozglue.a ../../../dist/lib/libmemory.a -Wl,--no-whole-archive -rdynamic -ldl  -lffi   
jemalloc.o (symbol from plugin): warning: memset used with constant zero length parameter; this could be due to transposed parameters
`PushActiveVMFrame' referenced in section `.text' of /tmp/portage/portage/www-client/firefox-15.0_beta5/temp/ccYtcWMt.ltrans0.ltrans.o: defined in discarded section `.text' of MethodJIT.o (symbol from plugin)
`PopActiveVMFrame' referenced in section `.text' of /tmp/portage/portage/www-client/firefox-15.0_beta5/temp/ccYtcWMt.ltrans0.ltrans.o: defined in discarded section `.text' of MethodJIT.o (symbol from plugin)
`js_InternalThrow' referenced in section `.text' of /tmp/portage/portage/www-client/firefox-15.0_beta5/temp/ccYtcWMt.ltrans0.ltrans.o: defined in discarded section `.text' of InvokeHelpers.o (symbol from plugin)
`PopActiveVMFrame' referenced in section `.text' of /tmp/portage/portage/www-client/firefox-15.0_beta5/temp/ccYtcWMt.ltrans0.ltrans.o: defined in discarded section `.text' of MethodJIT.o (symbol from plugin)
`js_InternalInterpret' referenced in section `.text' of /tmp/portage/portage/www-client/firefox-15.0_beta5/temp/ccYtcWMt.ltrans0.ltrans.o: defined in discarded section `.text' of InvokeHelpers.o (symbol from plugin)
`PopActiveVMFrame' referenced in section `.text' of /tmp/portage/portage/www-client/firefox-15.0_beta5/temp/ccYtcWMt.ltrans0.ltrans.o: defined in discarded section `.text' of MethodJIT.o (symbol from plugin)
collect2: error: ld returned 1 exit status
make[6]: *** [js] Error 1
make[6]: Leaving directory `/tmp/portage/portage/www-client/firefox-15.0_beta5/work/mozilla-beta/obj-x86_64-unknown-linux-gnu/js/src/shell'
make[5]: *** [libs] Error 2
make[5]: Leaving directory `/tmp/portage/portage/www-client/firefox-15.0_beta5/work/mozilla-beta/obj-x86_64-unknown-linux-gnu/js/src'
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2732
Location: Bay Area, CA

PostPosted: Wed Aug 29, 2012 7:10 pm    Post subject: Reply with quote

Has anybody built firefox with LTO?
Back to top
View user's profile Send private message
genstorm
Advocate
Advocate


Joined: 05 Apr 2007
Posts: 2444
Location: Austria

PostPosted: Sat Sep 01, 2012 8:47 am    Post subject: Reply with quote

costel78 wrote:
Unfortunately I'm on no-multilib profile so I'm able to use just virtualbox-bin, but I just tested it and sys-devel/dev86-0.16.18 emerge was successfully.

kthx, I've also built gcc-4.7.1 now and verified that there seems to be more than less breakage with current 4.7.2_pre9999 - virtualbox, dev86 won't build with the latter. But there's another thread for gcc-4.7
_________________
backend.cpp:92:2: warning: #warning TODO - this error message is about as useful as a cooling unit in the arctic
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


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

PostPosted: Wed Mar 27, 2013 11:52 am    Post subject: Reply with quote

so anyone tried compiling the kernel with LTO and gcc 4.8 ?

https://github.com/andikleen/linux-misc/commits/lto-3.8

provides most revent enough kernel source & patches


I'm still looking for experience from actual users on the web
_________________
Unofficial minimal livecd x86/amd64 w/reiser4+truecrypt (by Neo2)
2.6.37.2_plus_v1: BFS, CFS,THP,compaction, zcache or TOI
Hardcore Linux user since 2004 :D
Back to top
View user's profile Send private message
firetwister
n00b
n00b


Joined: 09 Feb 2005
Posts: 48

PostPosted: Wed Mar 27, 2013 12:18 pm    Post subject: Reply with quote

kernelOfTruth wrote:
so anyone tried compiling the kernel with LTO and gcc 4.8 ?

https://github.com/andikleen/linux-misc/commits/lto-3.8

provides most revent enough kernel source & patches


You need a patched linker, or else lto will be disabled automatically.
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


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

PostPosted: Wed Mar 27, 2013 3:42 pm    Post subject: Reply with quote

firetwister wrote:
kernelOfTruth wrote:
so anyone tried compiling the kernel with LTO and gcc 4.8 ?

https://github.com/andikleen/linux-misc/commits/lto-3.8

provides most revent enough kernel source & patches


You need a patched linker, or else lto will be disabled automatically.


not sure what linker patch you're actually referring to :oops:

I've only found out so far that gold doesn't seems to work with lto kernel compilation
_________________
Unofficial minimal livecd x86/amd64 w/reiser4+truecrypt (by Neo2)
2.6.37.2_plus_v1: BFS, CFS,THP,compaction, zcache or TOI
Hardcore Linux user since 2004 :D
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 1, 2  Next
Page 1 of 2

 
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