From 73a60b2da44847f3725d362a49207330d4d22aa5 Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Mon, 11 May 2020 14:03:29 +0200 Subject: crypto-native: properly deal with broken or outdated toolchains Avoids crash due to missing symbol, when build system detects toolchain which is not able to produce binaries for all targets we need.... Type: fix Change-Id: I77ee63cb8dca3c9e4e83a6235c60f1439a472444 Signed-off-by: Damjan Marion --- src/plugins/crypto_native/CMakeLists.txt | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'src/plugins/crypto_native/CMakeLists.txt') diff --git a/src/plugins/crypto_native/CMakeLists.txt b/src/plugins/crypto_native/CMakeLists.txt index c6d916ddbbd..e71df3d6a98 100644 --- a/src/plugins/crypto_native/CMakeLists.txt +++ b/src/plugins/crypto_native/CMakeLists.txt @@ -12,13 +12,13 @@ # limitations under the License. if(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64.*|x86_64.*|AMD64.*") - list(APPEND VARIANTS "sse42\;-march=silvermont") - list(APPEND VARIANTS "avx2\;-march=core-avx2") - if(compiler_flag_march_skylake_avx512) - list(APPEND VARIANTS "avx512\;-march=skylake-avx512") + list(APPEND VARIANTS "slm\;-march=silvermont") + list(APPEND VARIANTS "hsw\;-march=haswell") + if(compiler_flag_march_skylake_avx512 AND compiler_flag_mprefer_vector_width) + list(APPEND VARIANTS "skx\;-march=skylake-avx512 -mprefer-vector-width=256") endif() - if(compiler_flag_march_icelake_client) - list(APPEND VARIANTS "vaesni\;-march=icelake-client") + if(compiler_flag_march_icelake_client AND compiler_flag_mprefer_vector_width) + list(APPEND VARIANTS "icl\;-march=icelake-client -mprefer-vector-width=512") endif() set (COMPILE_FILES aes_cbc.c aes_gcm.c) set (COMPILE_OPTS -Wall -fno-common -maes) @@ -42,6 +42,7 @@ foreach(VARIANT ${VARIANTS}) set(l crypto_native_${v}) add_library(${l} OBJECT ${COMPILE_FILES}) set_target_properties(${l} PROPERTIES POSITION_INDEPENDENT_CODE ON) + separate_arguments(f) target_compile_options(${l} PUBLIC ${f} ${COMPILE_OPTS}) target_sources(crypto_native_plugin PRIVATE $) endforeach() -- cgit 1.2.3-korg