Issue 90857
Summary incompatibility between unified LTO and ffat-lto-objects
Labels new issue
Assignees
Reporter Matthieu-Sauer
    I tried to use the new -ffat-lto-objects feature from clang & lld 18, and it did seem that it was working (in flto full I was linking with a similar time as for lto thin, and lto thin links at the speed of no lto).

So I tried the unified LTO pipeline, as I saw discussions about perhaps making it mandatory for fat lto.

The combination of the two yelds the following result:
![Screenshot_20240502_155847](https://github.com/llvm/llvm-project/assets/74206586/5aaf9265-3feb-4168-936b-da2c198ca2dc)


(this has been done on a personal project modified to allow for the lto to be used).

Steps to reproduce should be:

Take an existing project
use an LLVM 18 pipeline on it (clang18 + lld18 + llvm-ar18)
activate lto optimisations (full / thin, does not matter)
activate -ffat-lto-objects & -funified-lto

now, lld complains about missing symbols. Symbols do exist outside of this configuration (remove unified / fat lto and the project compiles fine).

tested on a debian sid, with llvm 18.1.4 (provided by debian, not manually compiled)
tested on following project: https://gitlab.com/azkalaak/zenith/ (main branch has not been pushed with the lto modifications, so if any testing needs to happen, the cmakelist should be modified).

perhaps i'm wrong to try this and the two options should not be activated at the same time?
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to