linux/arch/arm64
Will Deacon 03adcbd996 arm64: atomics: Use K constraint when toolchain appears to support it
The 'K' constraint is a documented AArch64 machine constraint supported
by GCC for matching integer constants that can be used with a 32-bit
logical instruction. Unfortunately, some released compilers erroneously
accept the immediate '4294967295' for this constraint, which is later
refused by GAS at assembly time. This had led us to avoid the use of
the 'K' constraint altogether.

Instead, detect whether the compiler is up to the job when building the
kernel and pass the 'K' constraint to our 32-bit atomic macros when it
appears to be supported.

Signed-off-by: Will Deacon <will@kernel.org>
2019-08-30 11:18:40 +01:00
..
boot arm64: dts: imx8mq: fix SAI compatible 2019-07-23 15:37:31 +08:00
configs ARM: SoC defconfig updates 2019-07-19 17:27:27 -07:00
crypto Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2019-07-08 20:57:08 -07:00
include arm64: atomics: Use K constraint when toolchain appears to support it 2019-08-30 11:18:40 +01:00
kernel arm64: kprobes: Recover pstate.D in single-step exception handler 2019-08-02 11:55:50 +01:00
kvm ARM: 2019-07-12 15:35:14 -07:00
lib arm64: atomics: Remove atomic_ll_sc compilation unit 2019-08-29 15:53:49 +01:00
mm arm64: Make debug exception handlers visible from RCU 2019-08-02 11:56:01 +01:00
net arm64 updates for 5.3: 2019-07-08 09:54:55 -07:00
xen treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Kconfig arm64: lse: Make ARM64_LSE_ATOMICS depend on JUMP_LABEL 2019-08-30 11:18:33 +01:00
Kconfig.debug treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Kconfig.platforms ARM: SoC platform updates 2019-07-19 17:05:08 -07:00
Makefile arm64: atomics: Use K constraint when toolchain appears to support it 2019-08-30 11:18:40 +01:00