Browse Source

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>
Joel Carlson 2 năm trước cách đây
mục cha
commit
5622c76bf4
1 tập tin đã thay đổi với 5 bổ sung0 xóa
  1. 5 0
      package/cmocka/cmocka.mk

+ 5 - 0
package/cmocka/cmocka.mk

@@ -21,4 +21,9 @@ ifeq ($(BR2_SHARED_STATIC_LIBS),y)
 CMOCKA_CONF_OPTS += -DWITH_STATIC_LIB=ON
 CMOCKA_CONF_OPTS += -DWITH_STATIC_LIB=ON
 endif
 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))
 $(eval $(cmake-package))