From 85d858cb09ac5a59a4e2f6a5acfb74ec4c1e0d3a Mon Sep 17 00:00:00 2001 From: Evgeni Margolis Date: Wed, 8 Jul 2015 20:14:05 -0700 Subject: [PATCH] Added compile time checks to skip vli_square() and muladd() functions when they are not used --- asm_arm.inc | 2 ++ uECC.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/asm_arm.inc b/asm_arm.inc index 6c223a5..e9f103e 100644 --- a/asm_arm.inc +++ b/asm_arm.inc @@ -1247,6 +1247,7 @@ static void vli_mult(uint32_t *result, const uint32_t *left, const uint32_t *rig #define asm_mult 1 #endif /* (uECC_WORDS == 8) */ +#if uECC_SQUARE_FUNC #if (uECC_WORDS == 5) static void vli_square(uint32_t *result, const uint32_t *left) { register uint32_t *r0 __asm__("r0") = result; @@ -2030,6 +2031,7 @@ static void vli_square(uint32_t *result, const uint32_t *left) { } #define asm_square 1 #endif /* (uECC_WORDS == 8) */ +#endif /* uECC_SQUARE_FUNC */ #endif /* (uECC_PLATFORM != uECC_arm_thumb) */ #endif /* (uECC_ASM == uECC_asm_fast) */ diff --git a/uECC.c b/uECC.c index 897cb00..8dcd7af 100644 --- a/uECC.c +++ b/uECC.c @@ -623,7 +623,7 @@ static uECC_word_t vli_sub(uECC_word_t *result, const uECC_word_t *left, const u } #endif -#if (!asm_mult || !asm_square || uECC_CURVE == uECC_secp256k1) +#if (!asm_mult || (uECC_SQUARE_FUNC && !asm_square) || uECC_CURVE == uECC_secp256k1) static void muladd(uECC_word_t a, uECC_word_t b, uECC_word_t *r0,