Re: [PATCH v4 1/4] ARM: remove lazy evaluation in Makefile

From: Nathan Chancellor
Date: Fri Oct 14 2022 - 17:18:14 EST


On Fri, Oct 14, 2022 at 01:13:51PM -0700, Nick Desaulniers wrote:
> arch-y and tune-y used lazy evaluation since they used to contain
> cc-option checks. They don't any longer, so just eagerly evaluate these
> command line flags.
>
> Signed-off-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>

Reviewed-by: Nathan Chancellor <nathan@xxxxxxxxxx>

> ---
> No change from v3.
>
> arch/arm/Makefile | 60 +++++++++++++++++++++--------------------------
> 1 file changed, 27 insertions(+), 33 deletions(-)
>
> diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> index c846119c448f..8dd943b50b7d 100644
> --- a/arch/arm/Makefile
> +++ b/arch/arm/Makefile
> @@ -63,44 +63,38 @@ KBUILD_CFLAGS += $(call cc-option,-fno-ipa-sra)
> # Note that GCC does not numerically define an architecture version
> # macro, but instead defines a whole series of macros which makes
> # testing for a specific architecture or later rather impossible.
> -arch-$(CONFIG_CPU_32v7M) =-D__LINUX_ARM_ARCH__=7 -march=armv7-m
> -arch-$(CONFIG_CPU_32v7) =-D__LINUX_ARM_ARCH__=7 -march=armv7-a
> -arch-$(CONFIG_CPU_32v6) =-D__LINUX_ARM_ARCH__=6 -march=armv6
> -# Only override the compiler option if ARMv6. The ARMv6K extensions are
> +arch-$(CONFIG_CPU_32v7M) :=-D__LINUX_ARM_ARCH__=7 -march=armv7-m
> +arch-$(CONFIG_CPU_32v7) :=-D__LINUX_ARM_ARCH__=7 -march=armv7-a
> +arch-$(CONFIG_CPU_32v6) :=-D__LINUX_ARM_ARCH__=6 -march=armv6
> +# Only override the compiler opt:ion if ARMv6. The ARMv6K extensions are
> # always available in ARMv7
> ifeq ($(CONFIG_CPU_32v6),y)
> -arch-$(CONFIG_CPU_32v6K) =-D__LINUX_ARM_ARCH__=6 -march=armv6k
> +arch-$(CONFIG_CPU_32v6K) :=-D__LINUX_ARM_ARCH__=6 -march=armv6k
> endif
> -arch-$(CONFIG_CPU_32v5) =-D__LINUX_ARM_ARCH__=5 -march=armv5te
> -arch-$(CONFIG_CPU_32v4T) =-D__LINUX_ARM_ARCH__=4 -march=armv4t
> -arch-$(CONFIG_CPU_32v4) =-D__LINUX_ARM_ARCH__=4 -march=armv4
> -arch-$(CONFIG_CPU_32v3) =-D__LINUX_ARM_ARCH__=3 -march=armv3m
> -
> -# Evaluate arch cc-option calls now
> -arch-y := $(arch-y)
> +arch-$(CONFIG_CPU_32v5) :=-D__LINUX_ARM_ARCH__=5 -march=armv5te
> +arch-$(CONFIG_CPU_32v4T) :=-D__LINUX_ARM_ARCH__=4 -march=armv4t
> +arch-$(CONFIG_CPU_32v4) :=-D__LINUX_ARM_ARCH__=4 -march=armv4
> +arch-$(CONFIG_CPU_32v3) :=-D__LINUX_ARM_ARCH__=3 -march=armv3m
>
> # This selects how we optimise for the processor.
> -tune-$(CONFIG_CPU_ARM7TDMI) =-mtune=arm7tdmi
> -tune-$(CONFIG_CPU_ARM720T) =-mtune=arm7tdmi
> -tune-$(CONFIG_CPU_ARM740T) =-mtune=arm7tdmi
> -tune-$(CONFIG_CPU_ARM9TDMI) =-mtune=arm9tdmi
> -tune-$(CONFIG_CPU_ARM940T) =-mtune=arm9tdmi
> -tune-$(CONFIG_CPU_ARM946E) =-mtune=arm9e
> -tune-$(CONFIG_CPU_ARM920T) =-mtune=arm9tdmi
> -tune-$(CONFIG_CPU_ARM922T) =-mtune=arm9tdmi
> -tune-$(CONFIG_CPU_ARM925T) =-mtune=arm9tdmi
> -tune-$(CONFIG_CPU_ARM926T) =-mtune=arm9tdmi
> -tune-$(CONFIG_CPU_FA526) =-mtune=arm9tdmi
> -tune-$(CONFIG_CPU_SA110) =-mtune=strongarm110
> -tune-$(CONFIG_CPU_SA1100) =-mtune=strongarm1100
> -tune-$(CONFIG_CPU_XSCALE) =-mtune=xscale
> -tune-$(CONFIG_CPU_XSC3) =-mtune=xscale
> -tune-$(CONFIG_CPU_FEROCEON) =-mtune=xscale
> -tune-$(CONFIG_CPU_V6) =-mtune=arm1136j-s
> -tune-$(CONFIG_CPU_V6K) =-mtune=arm1136j-s
> -
> -# Evaluate tune cc-option calls now
> -tune-y := $(tune-y)
> +tune-$(CONFIG_CPU_ARM7TDMI) :=-mtune=arm7tdmi
> +tune-$(CONFIG_CPU_ARM720T) :=-mtune=arm7tdmi
> +tune-$(CONFIG_CPU_ARM740T) :=-mtune=arm7tdmi
> +tune-$(CONFIG_CPU_ARM9TDMI) :=-mtune=arm9tdmi
> +tune-$(CONFIG_CPU_ARM940T) :=-mtune=arm9tdmi
> +tune-$(CONFIG_CPU_ARM946E) :=-mtune=arm9e
> +tune-$(CONFIG_CPU_ARM920T) :=-mtune=arm9tdmi
> +tune-$(CONFIG_CPU_ARM922T) :=-mtune=arm9tdmi
> +tune-$(CONFIG_CPU_ARM925T) :=-mtune=arm9tdmi
> +tune-$(CONFIG_CPU_ARM926T) :=-mtune=arm9tdmi
> +tune-$(CONFIG_CPU_FA526) :=-mtune=arm9tdmi
> +tune-$(CONFIG_CPU_SA110) :=-mtune=strongarm110
> +tune-$(CONFIG_CPU_SA1100) :=-mtune=strongarm1100
> +tune-$(CONFIG_CPU_XSCALE) :=-mtune=xscale
> +tune-$(CONFIG_CPU_XSC3) :=-mtune=xscale
> +tune-$(CONFIG_CPU_FEROCEON) :=-mtune=xscale
> +tune-$(CONFIG_CPU_V6) :=-mtune=arm1136j-s
> +tune-$(CONFIG_CPU_V6K) :=-mtune=arm1136j-s
>
> ifeq ($(CONFIG_AEABI),y)
> CFLAGS_ABI :=-mabi=aapcs-linux -mfpu=vfp
> --
> 2.38.0.413.g74048e4d9e-goog
>
>