summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitmodules3
-rw-r--r--extra/wolfssl/CMakeLists.txt24
-rw-r--r--extra/wolfssl/user_settings.h.in1
m---------extra/wolfssl/wolfssl0
-rw-r--r--include/ssl_compat.h2
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