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 <michael.tremer@ipfire.org>
This commit is contained in:
Michael Tremer
2024-08-02 16:49:15 +00:00
parent f08f55e6b4
commit c842b7e1cd
2 changed files with 17 additions and 0 deletions

View File

@@ -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 \

View File

@@ -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;