public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] LTO use in the tree
@ 2014-04-21  3:14 Ryan Hill
  2014-04-21  4:02 ` [gentoo-dev] " Ryan Hill
  2014-04-21  6:53 ` [gentoo-dev] " Michał Górny
  0 siblings, 2 replies; 32+ messages in thread
From: Ryan Hill @ 2014-04-21  3:14 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1300 bytes --]

Hey all,

As more and more packages are starting to add LTO flags automatically through
their build systems, I thought I'd point out a couple things:

- LTO utterly destroys debug info.  Flags like -g are incompatible with LTO.

- LTO causes .GCC.command.line sections to be discarded, which means your
  package will always be QA flagged as ignoring CFLAGS.

- LTO takes a _lot_ of memory.  That memory is required on the host arch.
  Distcc doesn't help things here, because linking happens locally.  Consider
  all the archs your package is built on, and if they all routinely have
  multiple GBs of memory installed.

- LTO in 4.7 is still fairly buggy.  There are no plans to fix it.  4.8 is
  better, but 4.9 moves to a different model, so bugs in 4.8 probably won't be
  fixed, especially regarding memory usage.

- I'm happy to backport patches to fix LTO problems if they're available, but
  you'll generally have to do the legwork.  And like I said, most aren't going
  to be backportable.

Please take these things into consideration when deciding whether or not this
feature is worth it.

Thanks.


-- 
Ryan Hill                        psn: dirtyepic_sk
   gcc-porting/toolchain/wxwidgets @ gentoo.org

47C3 6D62 4864 0E49 8E9E  7F92 ED38 BD49 957A 8463

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2014-05-03  0:25 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-04-21  3:14 [gentoo-dev] LTO use in the tree Ryan Hill
2014-04-21  4:02 ` [gentoo-dev] " Ryan Hill
2014-04-22  8:45   ` Martin Vaeth
2014-04-26 10:23     ` Michał Górny
2014-04-26 11:15       ` Rich Freeman
2014-04-26 15:00         ` Martin Vaeth
2014-04-26 16:34           ` Rich Freeman
2014-04-26 19:58             ` Martin Vaeth
2014-04-27  0:34               ` "C. Bergström"
2014-04-27  2:14                 ` Alex Xu
2014-04-27  2:37                   ` "C. Bergström"
2014-04-27 11:23                     ` Rich Freeman
2014-04-27 11:41                       ` "C. Bergström"
2014-04-27 14:52                         ` Rich Freeman
2014-04-28  8:25                         ` Martin Vaeth
2014-04-28  8:53                           ` Tomáš Pružina
2014-04-27 22:56                       ` Joshua Kinard
2014-04-27 23:08                         ` Rich Freeman
2014-04-27 23:14                           ` Joshua Kinard
2014-04-28  0:40                             ` "C. Bergström"
2014-04-28  3:54                               ` Joshua Kinard
2014-04-28  4:49                               ` Richard Yao
2014-04-28 21:46                       ` Andrew Savchenko
2014-04-28 23:45                         ` Rich Freeman
2014-04-27 22:57                 ` Joshua Kinard
2014-04-28 21:08                 ` Andrew Savchenko
2014-04-27  0:49               ` Rich Freeman
2014-04-26 14:35       ` Martin Vaeth
2014-05-03  0:24     ` Ryan Hill
2014-04-22 18:10   ` Matt Turner
2014-05-02 23:55     ` Ryan Hill
2014-04-21  6:53 ` [gentoo-dev] " Michał Górny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox