diff options
-rw-r--r-- | .gitmodules | 3 | ||||
-rw-r--r-- | extra/wolfssl/CMakeLists.txt | 24 | ||||
-rw-r--r-- | extra/wolfssl/user_settings.h.in | 1 | ||||
m--------- | extra/wolfssl/wolfssl | 0 | ||||
-rw-r--r-- | include/ssl_compat.h | 2 |
5 files changed, 16 insertions, 14 deletions
diff --git a/.gitmodules b/.gitmodules index 18bcb465fa2..b33206a4045 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,7 +10,8 @@ branch = master [submodule "extra/wolfssl/wolfssl"] path = extra/wolfssl/wolfssl - url = https://github.com/wolfSSL/wolfssl.git + url = https://github.com/dr-m/wolfssl.git + branch = intel-intrinsics [submodule "storage/maria/libmarias3"] path = storage/maria/libmarias3 url = https://github.com/mariadb-corporation/libmarias3.git diff --git a/extra/wolfssl/CMakeLists.txt b/extra/wolfssl/CMakeLists.txt index 8fe79dccf3d..48df9f98a2d 100644 --- a/extra/wolfssl/CMakeLists.txt +++ b/extra/wolfssl/CMakeLists.txt @@ -9,7 +9,9 @@ ENDIF() IF(CMAKE_SIZEOF_VOID_P MATCHES 8) IF(MSVC) SET(WOLFSSL_INTELASM ON) + SET(WOLFSSL_X86_64_BUILD 1) ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64") + SET(WOLFSSL_X86_64_BUILD 1) IF(CMAKE_C_COMPILER_ID MATCHES GNU AND CMAKE_C_COMPILER_VERSION VERSION_LESS 4.9) MESSAGE_ONCE(NO_INTEL_ASSEMBLY "Disable Intel assembly for WolfSSL - compiler is too old") ELSEIF(WITH_MSAN) @@ -19,9 +21,9 @@ ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64") MY_CHECK_C_COMPILER_FLAG(-maes) MY_CHECK_C_COMPILER_FLAG(-msse4) MY_CHECK_C_COMPILER_FLAG(-mpclmul) - IF(have_C__maes AND have_C__msse4 AND have_C__mpclmul) - SET(WOLFSSL_INTELASM ON) - ENDIF() + ENDIF() + IF(have_C__maes AND have_C__msse4 AND have_C__mpclmul) + SET(WOLFSSL_INTELASM ON) ENDIF() ENDIF() ENDIF() @@ -107,20 +109,18 @@ ELSE() SET(WOLFCRYPT_SOURCES ${WOLFCRYPT_SOURCES} ${WOLFCRYPT_SRCDIR}/integer.c) ENDIF() -IF(WOLFSSL_INTELASM) - SET(WOLFSSL_AESNI 1) - +IF(WOLFSSL_X86_64_BUILD) + SET(HAVE_INTEL_RDSEED 1) + SET(HAVE_INTEL_RDRAND 1) LIST(APPEND WOLFCRYPT_SOURCES ${WOLFCRYPT_SRCDIR}/cpuid.c) IF(MSVC) + SET(WOLFSSL_AESNI 1) LIST(APPEND WOLFCRYPT_SOURCES ${WOLFCRYPT_SRCDIR}/aes_asm.asm) IF(CMAKE_C_COMPILER_ID MATCHES Clang) - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -maes") - ELSE() - SET(HAVE_INTEL_RDSEED 1) - SET(WOLFSSL_X86_64_BUILD 1) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -maes -mrdseed -mrdrnd") ENDIF() - ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64") - SET(HAVE_INTEL_RDSEED 1) + ELSEIF(WOLFSSL_INTELASM) + SET(WOLFSSL_AESNI 1) SET(USE_INTEL_SPEEDUP 1) LIST(APPEND WOLFCRYPT_SOURCES ${WOLFCRYPT_SRCDIR}/aes_asm.S diff --git a/extra/wolfssl/user_settings.h.in b/extra/wolfssl/user_settings.h.in index 98f05079e05..e381e87ce71 100644 --- a/extra/wolfssl/user_settings.h.in +++ b/extra/wolfssl/user_settings.h.in @@ -32,6 +32,7 @@ #cmakedefine USE_FAST_MATH #cmakedefine TFM_TIMING_RESISTANT #cmakedefine HAVE_INTEL_RDSEED +#cmakedefine HAVE_INTEL_RDRAND #cmakedefine USE_INTEL_SPEEDUP #cmakedefine USE_FAST_MATH #cmakedefine WOLFSSL_X86_64_BUILD diff --git a/extra/wolfssl/wolfssl b/extra/wolfssl/wolfssl -Subproject e116c89a58af750421d82ece13f80516d2bde02 +Subproject c2276e91e4e6188a3117626c97e5b62d0d5e5ef diff --git a/include/ssl_compat.h b/include/ssl_compat.h index 8cc0e6a9a2b..c272ef2337c 100644 --- a/include/ssl_compat.h +++ b/include/ssl_compat.h @@ -82,10 +82,10 @@ #ifndef HAVE_WOLFSSL #define EVP_MD_CTX_reset(X) EVP_MD_CTX_cleanup(X) #define EVP_CIPHER_CTX_reset(X) EVP_CIPHER_CTX_cleanup(X) -#endif #define X509_get0_notBefore(X) X509_get_notBefore(X) #define X509_get0_notAfter(X) X509_get_notAfter(X) #endif +#endif #ifndef TLS1_3_VERSION #define SSL_CTX_set_ciphersuites(X,Y) 0 |