arm64: kconfig: Update and comment GCC version check for kernel BTI
authorWill Deacon <will@kernel.org>
Tue, 12 May 2020 11:45:40 +0000 (12:45 +0100)
committerWill Deacon <will@kernel.org>
Tue, 12 May 2020 12:02:31 +0000 (13:02 +0100)
Some versions of GCC are known to suffer from a BTI code generation bug,
meaning that CONFIG_CC_HAS_BRANCH_PROT_PAC_RET_BTI cannot be solely used
to determine whether or not we can compile with kernel with BTI enabled.

Update the BTI Kconfig entry to refer to the relevant GCC bugzilla entry
(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94697) and update the check
now that the fix has been merged into GCC release 10.1.

Acked-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/Kconfig

index 77d5fa96f9d07a46f2fe2693a02f40d430e89834..e058854bcefcbcff256226d8b2d00e5b599fd11d 100644 (file)
@@ -1616,7 +1616,8 @@ config ARM64_BTI_KERNEL
        depends on ARM64_BTI
        depends on ARM64_PTR_AUTH
        depends on CC_HAS_BRANCH_PROT_PAC_RET_BTI
-       depends on !CC_IS_GCC || GCC_VERSION >= 100000
+       # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94697
+       depends on !CC_IS_GCC || GCC_VERSION >= 100100
        depends on !(CC_IS_CLANG && GCOV_KERNEL)
        depends on (!FUNCTION_GRAPH_TRACER || DYNAMIC_FTRACE_WITH_REGS)
        help