Link time optimization (LTO) is disabled
Follow up to !80 (closed). When LTO is enabled, the binary size becomes smaller.
armhf version does not build with it:
[100%] Linking CXX executable osk-sdl In function 'main': lto1: fatal error: LTO_tags out of range: Range is 0 to 420, value is 1717987328 compilation terminated. lto-wrapper: fatal error: /usr/bin/c++ returned 1 exit status compilation terminated. /usr/lib/gcc/armv6-alpine-linux-musleabihf/6.4.0/../../../../armv6-alpine-linux-musleabihf/bin/ld: error: lto-wrapper failed collect2: error: ld returned 1 exit status
I fiddled around a bit, tried some flags like
-ffat-lto-objects, switched out bfd for gold and tried checking with CMake's
CheckIPOSupported(which reports no error) but to no avail. I disabled LTO for now, but I think it's worth investigating because I think this might affect other packages and having LTO for more code helps keeping the binary sizes small.
My guess is that this might be a bug in QEMU. We could try out if this fails
when running natively on
armhf as well (
pmbootstrap can also be used on
armhf and will then not use QEMU). If it works there, we can update to the latest
QEMU version, and if the bug is still present there, work out with upstream how
to fix it.