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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help