Commit 1bf8828b authored by Will Cohen's avatar Will Cohen
Browse files

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.
parent 7cd55ea2
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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