mbedtls: fix compilation on ARM < 6
authorHauke Mehrtens <hauke@hauke-m.de>
Sun, 16 Dec 2018 12:07:41 +0000 (13:07 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 16 Dec 2018 13:03:06 +0000 (14:03 +0100)
mbedtls uses some instructions introduced in ARMv6 which are not
available in older architectures.

Fixes: 3f7dd06fd85 ("mbedtls: Update to 2.14.1")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
package/libs/mbedtls/patches/300-bn_mul.h-Use-optimized-MULADDC-code-only-on-ARM-6.patch [new file with mode: 0644]

diff --git a/package/libs/mbedtls/patches/300-bn_mul.h-Use-optimized-MULADDC-code-only-on-ARM-6.patch b/package/libs/mbedtls/patches/300-bn_mul.h-Use-optimized-MULADDC-code-only-on-ARM-6.patch
new file mode 100644 (file)
index 0000000..b6c60f0
--- /dev/null
@@ -0,0 +1,27 @@
+From 7aff5a70f3580426865b6c86437a3e47546d13f7 Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke@hauke-m.de>
+Date: Sun, 16 Dec 2018 13:02:49 +0100
+Subject: [PATCH] bn_mul.h: Use optimized MULADDC code only on ARM >= 6
+
+The optimized code uses umaal which was only introduced with ARMv6 and
+is not available on older versions.
+This broke compilation with arm926ej-s CPU for me.
+
+Fixes: 16b1bd89326 ("bn_mul.h: add ARM DSP optimized MULADDC code")
+Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
+---
+ include/mbedtls/bn_mul.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/include/mbedtls/bn_mul.h
++++ b/include/mbedtls/bn_mul.h
+@@ -638,7 +638,8 @@
+            "r6", "r7", "r8", "r9", "cc"         \
+          );
+-#elif defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1)
++#elif defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1) && \
++      __TARGET_ARCH_ARM >= 6
+ #define MULADDC_INIT                            \
+     asm(