Skip to content

Commit

Permalink
bn_mul.h: require at least ARMv6 to enable the ARM DSP code
Browse files Browse the repository at this point in the history
Commit 16b1bd8 "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.
  • Loading branch information
aurel32 authored and gilles-peskine-arm committed Aug 3, 2019
1 parent 01655da commit 5daa34f
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion include/mbedtls/bn_mul.h
Original file line number Diff line number Diff line change
Expand Up @@ -642,7 +642,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(
Expand Down

0 comments on commit 5daa34f

Please sign in to comment.