From c842b7e1cdc59fa8f6f95e1978d8115e392d1e59 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Fri, 2 Aug 2024 16:49:15 +0000 Subject: [PATCH] vectorscan: Fix check for CPU support According to the documentation, Vectorscan checks whether the CPU is supporting the minimum requirement of SSE4.2. However the check is still checking for SSSE3 which makes the library fail on systems without SSE4.2. Signed-off-by: Michael Tremer --- lfs/vectorscan | 1 + src/patches/vectorscan-5.4.11-sse4.2.patch | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 src/patches/vectorscan-5.4.11-sse4.2.patch diff --git a/lfs/vectorscan b/lfs/vectorscan index 585fc2894..b56243c42 100644 --- a/lfs/vectorscan +++ b/lfs/vectorscan @@ -92,6 +92,7 @@ $(subst %,%_BLAKE2,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/vectorscan-5.4.11-sse4.2.patch cd $(DIR_APP) && cmake . \ -DCMAKE_INSTALL_PREFIX:PATH=/usr \ -DBUILD_SHARED_LIBS=ON \ diff --git a/src/patches/vectorscan-5.4.11-sse4.2.patch b/src/patches/vectorscan-5.4.11-sse4.2.patch new file mode 100644 index 000000000..feb867aeb --- /dev/null +++ b/src/patches/vectorscan-5.4.11-sse4.2.patch @@ -0,0 +1,16 @@ +diff --git a/src/hs_valid_platform.c b/src/hs_valid_platform.c +index 0af36b6c..12ae5d9a 100644 +--- a/src/hs_valid_platform.c ++++ b/src/hs_valid_platform.c +@@ -37,9 +37,9 @@ + + HS_PUBLIC_API + hs_error_t HS_CDECL hs_valid_platform(void) { +- /* Hyperscan requires SSSE3, anything else is a bonus */ ++ /* Vectorscan requires SSE4.2, anything else is a bonus */ + #if defined(ARCH_IA32) || defined(ARCH_X86_64) +- if (check_ssse3()) { ++ if (check_sse42()) { + return HS_SUCCESS; + } else { + return HS_ARCH_ERROR; -- 2.39.5