boot/arm-trusted-firmware: don't force ENABLE_STACK_PROTECTOR
authorBaruch Siach <baruch@tkos.co.il>
Mon, 16 Aug 2021 03:30:11 +0000 (06:30 +0300)
committerPeter Korsgaard <peter@korsgaard.com>
Tue, 17 Aug 2021 07:24:09 +0000 (09:24 +0200)
Commit 5f432df7e2d2 ("boot/arm-trusted-firmware: change
ENABLE_STACK_PROTECTOR value when disabled") set
ENABLE_STACK_PROTECTOR=0 when disabled. But since we pass this value as
MAKE_OPT, the internal ATF logic that sets ENABLE_STACK_PROTECTOR again
based on its initial value breaks. This leads to build failure:

make[1]: *** [/builds/buildroot.org/buildroot/output/build/arm-trusted-firmware-v2.4/build/a80x0_mcbin/release/libc/assert.o] Error 1
aarch64-buildroot-linux-uclibc-gcc.br_real: error: unrecognized command-line option ‘-fstack-protector-0’; did you mean ‘-fstack-protector’?

Move ENABLE_STACK_PROTECTOR to make environment instead to allow make to
change its value.

Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/1497663294

Cc: Dick Olsson <hi@senzilla.io>
Cc: Sergey Matyukevich <geomatsi@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
boot/arm-trusted-firmware/arm-trusted-firmware.mk

index 1f08f5dabb6c401aff81dd112633803827f5a862..00b68a30afb78ee768df2e2d4b952124f7848c66 100644 (file)
@@ -51,7 +51,10 @@ endif
 ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \
        CROSS_COMPILE="$(TARGET_CROSS)" \
        $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES)) \
-       PLAT=$(ARM_TRUSTED_FIRMWARE_PLATFORM) \
+       PLAT=$(ARM_TRUSTED_FIRMWARE_PLATFORM)
+
+ARM_TRUSTED_FIRMWARE_MAKE_ENV += \
+       $(TARGET_MAKE_ENV) \
        ENABLE_STACK_PROTECTOR=$(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP_LEVEL))
 
 ifeq ($(BR2_ARM_CPU_ARMV7A),y)
@@ -164,7 +167,8 @@ ARM_TRUSTED_FIRMWARE_MAKE_TARGETS += \
 
 define ARM_TRUSTED_FIRMWARE_BUILD_CMDS
        $(ARM_TRUSTED_FIRMWARE_BUILD_FIPTOOL)
-       $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \
+       $(ARM_TRUSTED_FIRMWARE_MAKE_ENV) $(MAKE) -C $(@D) \
+               $(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \
                $(ARM_TRUSTED_FIRMWARE_MAKE_TARGETS)
        $(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_BUILD)
 endef