From: Nick Desaulniers
Sent: 10 June 2021 20:21
On Thu, Jun 10, 2021 at 2:28 AM torvic9@mailbox.org wrote:
Since LLVM commit 3787ee4, the '-stack-alignment' flag has been dropped [1], leading to the following error message when building a LTO kernel with Clang-13 and LLD-13:
ld.lld: error: -plugin-opt=-: ld.lld: Unknown command line argument '-stack-alignment=8'. Try 'ld.lld --help' ld.lld: Did you mean '--stackrealign=8'?
It also appears that the '-code-model' flag is not necessary anymore starting with LLVM-9 [2].
Drop '-code-model' and make '-stack-alignment' conditional on LLD < 13.0.0.
Please include this additional context in v2:
These flags were necessary because these flags were not encoded in the IR properly, so the link would restart optimizations without them. Now there are properly encoded in the IR, and these flags exposing implementation details are no longer necessary.
That way it doesn't sound like we're not using an 8B stack alignment on x86; we very much are so; AMDGPU GPFs without it!
Actually, give that LTO is still 'experimental' is it worth just removing the flags and requiring clang-13 for LTO builds?
David
- Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)