[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