[5.7][cmake] Prevent test failures by disabling LTO for swift runtime #59631
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We build a unified LLVM build with Swift and when enabling LTO, swift validation test suite fails for several ELF tests. The swift compiler defaults to the gold linker in these tests and fails to recognize bitcode files as inputs. This is also known issue for gold LTO as documented here (https://github.com/apple/swift/blob/main/lib/Driver/UnixToolChains.cpp#L166-L168). To prevent such test failures, prevent certain libraries,
swiftrt
andswiftDemangling
from compiling with LTO when targeting Linux.This change should should not affect anyone who don't build w/ LTO, and is a bug fix for those who try to build w/ LTO that targets Linux. This change was tested locally.
(cherry picked from #59425 commit a81bb11)