diff options
author | Vasily Gorbik <gor@linux.ibm.com> | 2018-06-15 10:22:18 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2018-06-25 10:14:37 +0200 |
commit | 157484abb9b05e3f49cd3903202ffad35cea4350 (patch) | |
tree | f6c203fdc09fe7a4b1cd412c986eae66d3b71976 | |
parent | 64e03ff72623b8c2ea89ca3cb660094e019ed4ae (diff) | |
download | op-kernel-dev-157484abb9b05e3f49cd3903202ffad35cea4350.zip op-kernel-dev-157484abb9b05e3f49cd3903202ffad35cea4350.tar.gz |
s390: disable asm code expolines if cc does not support it
To avoid a mixture of asm code with expolines and c code without them,
propagate CC_USING_EXPOLINE to KBUILD_AFLAGS and use it to detect
whether asm code should have expolines or not.
Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
-rw-r--r-- | arch/s390/Makefile | 1 | ||||
-rw-r--r-- | arch/s390/include/asm/nospec-insn.h | 4 |
2 files changed, 3 insertions, 2 deletions
diff --git a/arch/s390/Makefile b/arch/s390/Makefile index 68a6904..8a41110 100644 --- a/arch/s390/Makefile +++ b/arch/s390/Makefile @@ -82,6 +82,7 @@ ifdef CONFIG_EXPOLINE CC_FLAGS_EXPOLINE += -mindirect-branch-table export CC_FLAGS_EXPOLINE cflags-y += $(CC_FLAGS_EXPOLINE) -DCC_USING_EXPOLINE + aflags-y += -DCC_USING_EXPOLINE endif endif diff --git a/arch/s390/include/asm/nospec-insn.h b/arch/s390/include/asm/nospec-insn.h index a01f811..123dac3 100644 --- a/arch/s390/include/asm/nospec-insn.h +++ b/arch/s390/include/asm/nospec-insn.h @@ -8,7 +8,7 @@ #ifdef __ASSEMBLY__ -#ifdef CONFIG_EXPOLINE +#ifdef CC_USING_EXPOLINE _LC_BR_R1 = __LC_BR_R1 @@ -189,7 +189,7 @@ _LC_BR_R1 = __LC_BR_R1 .macro BASR_EX rsave,rtarget,ruse=%r1 basr \rsave,\rtarget .endm -#endif +#endif /* CC_USING_EXPOLINE */ #endif /* __ASSEMBLY__ */ |