Thread (4 messages) 4 messages, 3 authors, 2019-11-14

Re: [RESEND PATCH v2] arm64: lse: fix LSE atomics with LLVM's integrated assembler

From: Sami Tolvanen <samitolvanen@google.com>
Date: 2019-11-14 18:16:13
Also in: lkml

On Thu, Nov 14, 2019 at 8:57 AM Will Deacon [off-list ref] wrote:
On Thu, Oct 31, 2019 at 12:57:05PM -0700, Sami Tolvanen wrote:
quoted
Unlike gcc, clang considers each inline assembly block to be independent
and therefore, when using the integrated assembler for inline assembly,
any preambles that enable features must be repeated in each block.

This change defines __LSE_PREAMBLE and adds it to each inline assembly
block that has LSE instructions, which allows them to be compiled also
with clang's assembler.
Any chance LLVM can be fixed to avoid this bodge in the kernel?
Unfortunately, LLVM developers consider this to be a feature, not a
bug, so it's unlikely that we can change how the integrated assembler
works:

  https://bugs.llvm.org/show_bug.cgi?id=19749

Note that this patch is similar to be604c616ca7 ("arm64: sysreg: Make
mrs_s and msr_s macros work with Clang and LTO"), which worked around
the same issue in the sysreg code.

Sami

_______________________________________________
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