[PATCH] arm64: move --fix-cortex-a53-843419 linker test to Kconfig

Nathan Chancellor nathan at kernel.org
Wed Mar 24 17:41:35 GMT 2021


On Wed, Mar 24, 2021 at 04:11:28PM +0900, Masahiro Yamada wrote:
> $(call ld-option, --fix-cortex-a53-843419) in arch/arm64/Makefile is
> evaluated every time even for Make targets that do not need the linker,
> such as "make ARCH=arm64 install".
> 
> Recently, the Kbuild tree queued up a patch to avoid needless
> compiler/linker flag evaluation. I beleive it is a good improvement
> itself, but causing a false-positive warning for arm64 installation
> in linux-next. (Thanks to Nathan for the report)
> 
> Kconfig can test the linker capability just once, and store it in the
> .config file. The build and installation steps that follow do not need
> to test the liniker over again.
> 
> Reported-by: Nathan Chancellor <nathan at kernel.org>
> Signed-off-by: Masahiro Yamada <masahiroy at kernel.org>

Tested-by: Nathan Chancellor <nathan at kernel.org>
Reviewed-by: Nathan Chancellor <nathan at kernel.org>

Thanks for the quick fix!

> ---
> 
> I was not sure what the preferred CONFIG option name is.
> Please suggest a one if you have a better idea.
> 
> 
>  arch/arm64/Kconfig  | 3 +++
>  arch/arm64/Makefile | 2 +-
>  2 files changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 5656e7aacd69..4a33428de8ac 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -521,6 +521,9 @@ config ARM64_ERRATUM_843419
>  
>  	  If unsure, say Y.
>  
> +config ARM64_LD_HAS_FIX_ERRATUM_843419
> +	def_bool $(ld-option,--fix-cortex-a53-843419)
> +
>  config ARM64_ERRATUM_1024718
>  	bool "Cortex-A55: 1024718: Update of DBM/AP bits without break before make might result in incorrect update"
>  	default y
> diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
> index 5b84aec31ed3..7ef44478560d 100644
> --- a/arch/arm64/Makefile
> +++ b/arch/arm64/Makefile
> @@ -21,7 +21,7 @@ LDFLAGS_vmlinux		+= -shared -Bsymbolic -z notext \
>  endif
>  
>  ifeq ($(CONFIG_ARM64_ERRATUM_843419),y)
> -  ifeq ($(call ld-option, --fix-cortex-a53-843419),)
> +  ifneq ($(CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419),y)
>  $(warning ld does not support --fix-cortex-a53-843419; kernel may be susceptible to erratum)
>    else
>  LDFLAGS_vmlinux	+= --fix-cortex-a53-843419
> -- 
> 2.27.0
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel



More information about the linux-arm-kernel mailing list