Link time optimization (LTO) is disabled
Follow up to !80 (closed). When LTO is enabled, the binary size becomes smaller.
However, the 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
@mmha wrote:
I fiddled around a bit, tried some flags like
-fuse-linker-plugin
,-ffat-lto-objects
, switched out bfd for gold and tried checking with CMake'sCheckIPOSupported
(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.