binaryen: patch lld.py to match '64' on basename

scripts/test/lld.py adds --enable-memory64 --bigint when '64' appears
anywhere in the input path. The full Nix build directory is included,
and its nonce digits can contain '64' — non-deterministically triggering
the memory64 flags on unrelated tests (e.g. lld/duplicate_imports.wat)
and causing output mismatches. Match on basename instead.
This commit is contained in:
Will Cohen
2026-04-18 13:50:03 -04:00
parent 7cd55ea237
commit 1bf8828bc7
@@ -41,6 +41,12 @@ stdenv.mkDerivation rec {
sed -i '/gtest/d' third_party/CMakeLists.txt
rmdir test/spec/testsuite
ln -s ${testsuite} test/spec/testsuite
# scripts/test/lld.py checks `'64' in input_path` to enable the
# memory64/bigint flags; the full Nix build path leaks digits that
# can accidentally contain "64", wrongly triggering those flags for
# non-memory64 tests (e.g. duplicate_imports.wat). Match on basename.
substituteInPlace scripts/test/lld.py \
--replace-fail "'64' in input_path" "'64' in os.path.basename(input_path)"
else
cmakeFlagsArray=($cmakeFlagsArray -DBUILD_TESTS=0)
fi