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
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