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
signature.asc
Description: PGP signature