LLVM=1 LLVM_IAS=1 ARCH=arm (32b) state of the union
From: Nick Desaulniers <ndesaulniers@google.com>
Date: 2020-11-10 00:03:53
Hey Jian, I was able to get 32b ARM allyesconfig kernel to assemble with Clang's integrated assembler (IAS). Here's the list of bugs I hit: 1. LLD doesn't support BE. Patch exists, not immediately related to LLVM_IAS=1 but hurts testing `LLVM=1 LLVM_IAS=1`, patch sent: https://github.com/ClangBuiltLinux/linux/issues/965, https://lore.kernel.org/lkml/20201109224713.16308-1-ndesaulniers@google.com/T/#u (local). 2. LLVM_IAS doesn't support IWMMXT, patch sent (needs BE testing/revision): https://github.com/ClangBuiltLinux/linux/issues/975, https://lore.kernel.org/lkml/20201107001056.225807-1-jiancai@google.com/ (local) 3. STB_GLOBAL/STB_WEAK rebinding failure. patch sent: https://lore.kernel.org/linux-arm-kernel/20201105181542.854788-1-maskray@google.com/ (local), https://www.armlinux.org.uk/developer/patches/viewpatch.php?id=9022/1 4. -z relro, again like #1 LLD specific, hinted at: https://lore.kernel.org/linux-arm-kernel/20201030013228.GA2519055@ubuntu-m3-large-x86/ (local) 5. one last adrl in arch/arm/boot/compressed/head.S. Doesn't exist in today's linux-next, should appear tomorrow as per: https://lore.kernel.org/linux-arm-kernel/CAMj1kXEC6TvkYScMPk0++6atLZe1yrkrUwMRkat33WEwym9t0g@mail.gmail.com/T/#t (local) 6. .march/-Wa,-march= cases which can be fixed in kernel sources, https://github.com/ClangBuiltLinux/linux/issues/1195, https://github.com/ClangBuiltLinux/linux/issues/957 7. IAS not accepting multiple strings in .ascii directive. This one looks like an IAS bug to me. https://github.com/ClangBuiltLinux/linux/issues/1196 probably going to need to fix this as KGDB selects KPROBES, so Doug won't be able to use KGDB without this being fixed. Note I'm testing moving Android over to use LLVM_IAS=1 in https://android-review.googlesource.com/c/kernel/common/+/1493456, so the above are blockers for Android. -- Thanks, ~Nick Desaulniers _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel