Skip to content
Commit e0d5896b authored by Sami Tolvanen's avatar Sami Tolvanen Committed by Will Deacon
Browse files

arm64: lse: fix LSE atomics with LLVM's integrated assembler



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.

Link: https://github.com/ClangBuiltLinux/linux/issues/671
Signed-off-by: default avatarSami Tolvanen <samitolvanen@google.com>
Tested-by: default avatarAndrew Murray <andrew.murray@arm.com>
Tested-by: default avatarKees Cook <keescook@chromium.org>
Reviewed-by: default avatarAndrew Murray <andrew.murray@arm.com>
Reviewed-by: default avatarKees Cook <keescook@chromium.org>
Reviewed-by: default avatarNick Desaulniers <ndesaulniers@google.com>
Signed-off-by: default avatarWill Deacon <will@kernel.org>
parent 46cf053e
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment