diff options
author | Vladislav Vaintroub <wlad@mariadb.com> | 2020-09-17 18:05:53 +0200 |
---|---|---|
committer | Vladislav Vaintroub <wlad@mariadb.com> | 2020-09-17 18:05:53 +0200 |
commit | bfe612b738d43561d430fa022f9b4545e733ec86 (patch) | |
tree | 34ea2e12f1990daf1f9754c796e76bc127467f34 /extra | |
parent | de76bebc5798313e3798a35e02468e42254dd608 (diff) | |
download | mariadb-git-bfe612b738d43561d430fa022f9b4545e733ec86.tar.gz |
MDEV-23663 - Add HAVE_INTEL_RDRAND flag for building WolfSSL, where appropiate
Diffstat (limited to 'extra')
-rw-r--r-- | extra/wolfssl/CMakeLists.txt | 19 | ||||
-rw-r--r-- | extra/wolfssl/user_settings.h.in | 1 |
2 files changed, 15 insertions, 5 deletions
diff --git a/extra/wolfssl/CMakeLists.txt b/extra/wolfssl/CMakeLists.txt index e2ba345e3c8..12eb26c9ef7 100644 --- a/extra/wolfssl/CMakeLists.txt +++ b/extra/wolfssl/CMakeLists.txt @@ -19,6 +19,8 @@ ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") MY_CHECK_C_COMPILER_FLAG(-maes) MY_CHECK_C_COMPILER_FLAG(-msse4) MY_CHECK_C_COMPILER_FLAG(-mpclmul) + MY_CHECK_C_COMPILER_FLAG(-mrdrnd) + MY_CHECK_C_COMPILER_FLAG(-mrdseed) IF(have_C__maes AND have_C__msse4 AND have_C__mpclmul) SET(WOLFSSL_INTELASM ON) ENDIF() @@ -113,20 +115,27 @@ IF(WOLFSSL_INTELASM) LIST(APPEND WOLFCRYPT_SOURCES ${WOLFCRYPT_SRCDIR}/cpuid.c) IF(MSVC) LIST(APPEND WOLFCRYPT_SOURCES ${WOLFCRYPT_SRCDIR}/aes_asm.asm) + SET(WOLFSSL_X86_64_BUILD 1) + SET(HAVE_INTEL_RDSEED 1) + SET(HAVE_INTEL_RDRAND 1) 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 -msse4.2 -mpclmul -mrdrnd -mrdseed") ENDIF() ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") - SET(HAVE_INTEL_RDSEED 1) SET(USE_INTEL_SPEEDUP 1) LIST(APPEND WOLFCRYPT_SOURCES ${WOLFCRYPT_SRCDIR}/aes_asm.S ${WOLFCRYPT_SRCDIR}/sha512_asm.S ${WOLFCRYPT_SRCDIR}/sha256_asm.S) ADD_DEFINITIONS(-maes -msse4 -mpclmul) + IF(have_C__mrdrnd) + SET(HAVE_INTEL_RDRAND 1) + ADD_DEFINITIONS(-mrdrnd) + ENDIF() + IF(have_C__mrdseed) + SET(HAVE_INTEL_RDSEED 1) + ADD_DEFINITIONS(-mrdseed) + ENDIF() ENDIF() ENDIF() 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 |