| From 63f5b85e700677270197d176475be609187e9cdb Mon Sep 17 00:00:00 2001 |
| From: Aurelien Jarno <aurelien@aurel32.net> |
| Date: Sat, 3 Nov 2018 00:46:06 +0100 |
| Subject: [PATCH] bn_mul.h: require at least ARMv6 to enable the ARM DSP code |
| |
| Commit 16b1bd89326e "bn_mul.h: add ARM DSP optimized MULADDC code" |
| added some ARM DSP instructions that was assumed to always be available |
| when __ARM_FEATURE_DSP is defined to 1. Unfortunately it appears that |
| the ARMv5TE architecture (GCC flag -march=armv5te) supports the DSP |
| instructions, but only in Thumb mode and not in ARM mode, despite |
| defining __ARM_FEATURE_DSP in both cases. |
| |
| This patch fixes the build issue by requiring at least ARMv6 in addition |
| to the DSP feature. |
| |
| [Upstream status: https://github.com/ARMmbed/mbedtls/pull/2169] |
| Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io> |
| --- |
| include/mbedtls/bn_mul.h | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| diff --git a/include/mbedtls/bn_mul.h b/include/mbedtls/bn_mul.h |
| index 0af694c..565615f 100644 |
| --- a/include/mbedtls/bn_mul.h |
| +++ b/include/mbedtls/bn_mul.h |
| @@ -636,7 +636,8 @@ |
| "r6", "r7", "r8", "r9", "cc" \ |
| ); |
| |
| -#elif defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1) |
| +#elif (__ARM_ARCH >= 6) && \ |
| + defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1) |
| |
| #define MULADDC_INIT \ |
| asm( |
| -- |
| 2.7.4 |
| |