Frannkly, I think enabling LTO by default is a mistake. The
performance benefits are not likely to be worth the bugs silently
introduced across our codebase.
Fedora, openSUSE, and Ubuntu did LTO by default, and I've not heard about
any wrong. Is the situation in Debian differ from theirs?
On Fri, Jul 22, 2022 at 03:30:16PM +0200, Hideki Yamane wrote:
Fedora, openSUSE, and Ubuntu did LTO by default, and I've not heardabout
any wrong. Is the situation in Debian differ from theirs?
Not everything works with LTO right away: debugging build problems or
runtime problems takes effort.
Ubuntu has kept track of some problematic packages via a new package: https://launchpad.net/ubuntu/+source/lto-disabled-list/+changelog
Debian supports more architectures than Ubuntu or Fedora or OpenSUSE; this might mean there's costs unique to Debian.
How does LTO work with ABI compatibility, which we rely on very
heavily ?
Eg, my reading of the spec is as follows: if I add members
to an enum in a new library version, making a combined program
containing translation units with the old enum, and ones with the new
enum, is UB.[1]
Frannkly, I think enabling LTO by default is a mistake. The
performance benefits are not likely to be worth the bugs silently
introduced across our codebase. If there are particular programs that
would benefit from it, by all means enable it in those cases.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 300 |
Nodes: | 16 (2 / 14) |
Uptime: | 17:57:33 |
Calls: | 6,707 |
Calls today: | 1 |
Files: | 12,239 |
Messages: | 5,351,432 |