mongodb-7_0: fix avxSupport (#346979)

mozjs uses avx2 instructions in mongodb 7
This commit is contained in:
qubitnano 2024-10-07 07:20:47 -04:00 committed by GitHub
parent 237083be5e
commit a126d5b36e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 31 additions and 1 deletions

View File

@ -8,6 +8,7 @@
cctools,
avxSupport ? stdenv.hostPlatform.avxSupport,
nixosTests,
lib,
}:
let
@ -34,7 +35,11 @@ buildMongoDB {
# Fix building with python 3.12 since the imp module was removed
./mongodb-python312.patch
];
# mongodb-7_0's mozjs uses avx2 instructions
# https://github.com/GermanAizek/mongodb-without-avx/issues/16
] ++ lib.optionals (!avxSupport) [ ./mozjs-noavx.patch ];
passthru.tests = {
inherit (nixosTests) mongodb;
};

View File

@ -0,0 +1,25 @@
--- a/src/third_party/mozjs/SConscript
+++ b/src/third_party/mozjs/SConscript
@@ -145,8 +145,7 @@ sources = [
]
if env['TARGET_ARCH'] == 'x86_64' and not env.TargetOSIs('windows'):
- env.Append(CCFLAGS=['-mavx2'])
- sources.extend(["extract/mozglue/misc/SIMD_avx2.cpp", "extract/mozglue/misc/SSE.cpp"])
+ sources.extend(["extract/mozglue/misc/SSE.cpp"])
if env.TargetOSIs('windows'):
sources.extend([
diff --git a/src/third_party/mozjs/extract/mozglue/misc/SIMD.cpp b/src/third_party/mozjs/extract/mozglue/misc/SIMD.cpp
index 3893de57b32..4ea0a657fbb 100644
--- a/src/third_party/mozjs/extract/mozglue/misc/SIMD.cpp
+++ b/src/third_party/mozjs/extract/mozglue/misc/SIMD.cpp
@@ -448,7 +448,7 @@ const char* SIMD::memchr8SSE2(const char* ptr, char value, size_t length) {
// assertion failure. Accordingly, we just don't allow that to happen. We
// are not particularly concerned about ensuring that newer 32 bit processors
// get access to the AVX2 functions exposed here.
-# if defined(MOZILLA_MAY_SUPPORT_AVX2) && defined(__x86_64__)
+# if 0
bool SupportsAVX2() { return supports_avx2(); }