Note that the LLVM version that Android team chooses to use here is not necessary align with what Mono uses for LLVM. This problem exist regardless Mono LLVM is enabled or not. This is related to LLVM 14 because the linker that Android team uses to create Android apps uses LLVM and that is part of NDK. So the LLVM version here was decided by the one used by Android NDK.
Mono AOT needs to learn to recognize the new pattern that lld generates starting LLVM 14.
Investigate and hopefully fix https://github.com/xamarin/xamarin-android/pull/6946. Then Android could remove the workaround.
Note that the LLVM version that Android team chooses to use here is not necessary align with what Mono uses for LLVM. This problem exist regardless Mono LLVM is enabled or not. This is related to LLVM 14 because the linker that Android team uses to create Android apps uses LLVM and that is part of NDK. So the LLVM version here was decided by the one used by Android NDK.
Mono AOT needs to learn to recognize the new pattern that
lld
generates starting LLVM 14.