From 9df0fc9509617d0ede837ef7019176616dbf3c7d Mon Sep 17 00:00:00 2001 From: David Garske Date: Fri, 28 Dec 2018 08:45:16 -0800 Subject: [PATCH] Added protection to ensure `WOLFSSL_SP_ASM` gets defined when required. Updated the SP macro comments in GCC-ARM user_settings.h. ZD 4556. --- IDE/GCC-ARM/Header/user_settings.h | 5 +++-- wolfssl/wolfcrypt/sp_int.h | 8 ++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/IDE/GCC-ARM/Header/user_settings.h b/IDE/GCC-ARM/Header/user_settings.h index 58c8d86f8..f87a4d090 100644 --- a/IDE/GCC-ARM/Header/user_settings.h +++ b/IDE/GCC-ARM/Header/user_settings.h @@ -66,14 +66,15 @@ extern "C" { #undef WOLFSSL_SP #if 0 #define WOLFSSL_SP - #define WOLFSSL_SP_SMALL + #define WOLFSSL_SP_SMALL /* use smaller version of code */ #define WOLFSSL_HAVE_SP_RSA #define WOLFSSL_HAVE_SP_DH #define WOLFSSL_HAVE_SP_ECC #define WOLFSSL_SP_CACHE_RESISTANT - //#define WOLFSSL_SP_MATH + //#define WOLFSSL_SP_MATH /* only SP math - eliminates fast math code */ /* 64 or 32 bit version */ + //#define WOLFSSL_SP_ASM /* required if using the ASM versions */ //#define WOLFSSL_SP_ARM32_ASM //#define WOLFSSL_SP_ARM64_ASM #endif diff --git a/wolfssl/wolfcrypt/sp_int.h b/wolfssl/wolfcrypt/sp_int.h index bd4896f88..c22e9e314 100644 --- a/wolfssl/wolfcrypt/sp_int.h +++ b/wolfssl/wolfcrypt/sp_int.h @@ -26,6 +26,14 @@ #include #include +/* Make sure WOLFSSL_SP_ASM build option defined when requested */ +#if !defined(WOLFSSL_SP_ASM) && ( \ + defined(WOLFSSL_SP_X86_64_ASM) || defined(WOLFSSL_SP_ARM32_ASM) || \ + defined(WOLFSSL_SP_ARM64_ASM) || defined(WOLFSSL_SP_ARM_THUMB_ASM)) + #define WOLFSSL_SP_ASM +#endif + + #ifdef WOLFSSL_SP_X86_64_ASM #define SP_WORD_SIZE 64