[arch-dev-public] Fun with LTO and stripping
Allan McRae
allan at archlinux.org
Thu Dec 23 14:03:59 UTC 2021
With the latest devtools, LTO is enabled by default. This causes an
issue with .a and .o archived when stripping. Look out for output like:
strip:
./usr/lib/st4RPjCb/libsyslog_ng_native_connector_a-native-grammar.o:
plugin needed to handle lto object
That file is now nicely mangled!
Turns out this is a very well known issue in other distros, and has not
been fixed in binutils since reported in 2017.
There are a couple of workarounds:
1) disable LTO for that package
2) add -ffat-lto-objects to the C{,XX}FLAGS for those packages
I can see how to fix this in makepkg, but that will take a few days to
push out. In the meantime, pay attention to your build output!
Cheers,
Allan
More information about the arch-dev-public
mailing list