package/cmocka: fix build on Thumb classic configurations

The cmocka package checks if a toolchain supports the
-fstack-clash-protection compiler flag, and if it does automatically
uses it. That flag is not supported by GCC for Thumb1 builds (at least
as of both GCC 11 and GCC 12). Let's tell cmocka about this by passing
-DWITH_STACK_CLASH_PROTECTION=OFF in this configuration, as suggested
by Arnout Vandecappelle.

Fixes:
http://autobuild.buildroot.net/results/4044b3a71d3130d934c7a7c0c5badfabb2a97030/

Signed-off-by: Joel Carlson <JoelsonCarl@gmail.com>
[Thomas: change the initial patch from Joel to use the suggestion from
Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 5622c76bf4)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Joel Carlson 2023-01-02 00:15:22 -07:00 committed by Peter Korsgaard
parent 67564d1da2
commit fbc2e83d41

View File

@ -21,4 +21,9 @@ ifeq ($(BR2_SHARED_STATIC_LIBS),y)
CMOCKA_CONF_OPTS += -DWITH_STATIC_LIB=ON
endif
# gcc for ARM Thumb1 doesn't implement -fstack-clash-protection
ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y)
CMOCKA_CONF_OPTS += -DWITH_STACK_CLASH_PROTECTION=OFF
endif
$(eval $(cmake-package))