Skip to content

Commit

Permalink
Bug fix for compiling node-js@21: with [email protected] (var/spack/repos/buil…
Browse files Browse the repository at this point in the history
…tin/packages/node-js/package.py var/spack/repos/builtin/packages/node-js/wasm-compiler-gcc11p2.patch)

Since this bug fix is not sufficient, add a conflict for node-js@21: with [email protected]
  • Loading branch information
climbfuji committed Jan 9, 2025
1 parent 5459d3b commit 1bfb0a5
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 0 deletions.
7 changes: 7 additions & 0 deletions var/spack/repos/builtin/packages/node-js/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,13 @@ class NodeJs(Package):
# See https://github.com/nodejs/node/issues/52223
patch("fix-old-glibc-random-headers.patch", when="^glibc@:2.24")

# https://github.com/nodejs/node/issues/55596
# This patch is not sufficient, however, therefore
# add a conflict with this particular version of gcc
# until https://github.com/spack/spack/issues/48492 is resolved
patch("wasm-compiler-gcc11p2.patch", when="@21: %[email protected]")
conflicts("%[email protected]", when="@21:")

def setup_build_environment(self, env):
# Force use of experimental Python 3 support
env.set("PYTHON", self.spec["python"].command.path)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
diff --git a/deps/v8/src/compiler/wasm-compiler.cc b/deps/v8/src/compiler/wasm-compiler.cc
--- a/deps/v8/src/compiler/wasm-compiler.cc 2024-10-28 21:25:11.000000000 -0400
+++ b/deps/v8/src/compiler/wasm-compiler.cc 2024-11-01 02:02:22.554537121 -0400
@@ -8613,11 +8613,13 @@
'-');

auto compile_with_turboshaft = [&]() {
+ wasm::WrapperCompilationInfo ci;
+ ci.code_kind = CodeKind::WASM_TO_JS_FUNCTION;
+ ci.import_info.import_kind = kind;
+ ci.import_info.expected_arity = expected_arity;
+ ci.import_info.suspend = suspend;
return Pipeline::GenerateCodeForWasmNativeStubFromTurboshaft(
- env->module, sig,
- wasm::WrapperCompilationInfo{
- .code_kind = CodeKind::WASM_TO_JS_FUNCTION,
- .import_info = {kind, expected_arity, suspend}},
+ env->module, sig, ci,
func_name, WasmStubAssemblerOptions(), nullptr);
};
auto compile_with_turbofan = [&]() {
@@ -8774,12 +8776,14 @@
base::VectorOf(name_buffer.get(), kMaxNameLen) + kNamePrefixLen, sig);

auto compile_with_turboshaft = [&]() {
+ wasm::WrapperCompilationInfo ci;
+ ci.code_kind = CodeKind::WASM_TO_JS_FUNCTION;
+ ci.import_info.import_kind = kind;
+ ci.import_info.expected_arity = expected_arity;
+ ci.import_info.suspend = suspend;
std::unique_ptr<turboshaft::TurboshaftCompilationJob> job =
Pipeline::NewWasmTurboshaftWrapperCompilationJob(
- isolate, sig,
- wasm::WrapperCompilationInfo{
- .code_kind = CodeKind::WASM_TO_JS_FUNCTION,
- .import_info = {kind, expected_arity, suspend}},
+ isolate, sig, ci,
nullptr, std::move(name_buffer), WasmAssemblerOptions());

// Compile the wrapper

0 comments on commit 1bfb0a5

Please sign in to comment.