mbedtls: disable assembly for some scenarios
authorGustavo Zacarias <gustavo@zacarias.com.ar>
Wed, 30 Dec 2015 12:07:03 +0000 (09:07 -0300)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 30 Dec 2015 13:54:35 +0000 (14:54 +0100)
It's affected in the same way as polarssl, but use an enhanced trick
compared to 130ca81b since it's required by the codebase. Fixes:
http://autobuild.buildroot.net/results/584/584d1d12be9f2bbf45ccbdf93b6b442524059dcc/
http://autobuild.buildroot.net/results/d13/d13a06ba3fc0d7f08a03c04fcb484761da7af3f7/

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/mbedtls/mbedtls.mk

index b1f232fed6e64b300a0f99606ef117c7d24f0fe8..b98b7f5df21894df6fc8265d6cb472449bed003c 100644 (file)
@@ -43,4 +43,22 @@ else
 MBEDTLS_CONF_OPTS += -DENABLE_ZLIB_SUPPORT=OFF
 endif
 
+define MBEDTLS_DISABLE_ASM
+       $(SED) '/^#define MBEDTLS_AESNI_C/d' \
+               $(@D)/include/mbedtls/config.h
+       $(SED) '/^#define MBEDTLS_HAVE_ASM/d' \
+               $(@D)/include/mbedtls/config.h
+       $(SED) '/^#define MBEDTLS_PADLOCK_C/d' \
+               $(@D)/include/mbedtls/config.h
+endef
+
+# ARM in thumb mode breaks debugging with asm optimizations
+# Microblaze asm optimizations are broken in general
+# MIPS R6 asm is not yet supported
+ifeq ($(BR2_ENABLE_DEBUG)$(BR2_ARM_INSTRUCTIONS_THUMB)$(BR2_ARM_INSTRUCTIONS_THUMB2),yy)
+MBEDTLS_POST_CONFIGURE_HOOKS += MBEDTLS_DISABLE_ASM
+else ifeq ($(BR2_microblaze)$(BR2_mips_32r6)$(BR2_mips_64r6),y)
+MBEDTLS_POST_CONFIGURE_HOOKS += MBEDTLS_DISABLE_ASM
+endif
+
 $(eval $(cmake-package))