From 32d439777b035c67b09768128c37616f2b87a8642f76ed9daef417eb2ee918c5 Mon Sep 17 00:00:00 2001 From: Adam Majer Date: Tue, 21 May 2024 10:52:25 +0000 Subject: [PATCH] - v8-i586.patch: fix 32bit build with new gcc OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs22?expand=0&rev=5 --- nodejs22.changes | 2 ++ nodejs22.spec | 2 ++ v8-i586.patch | 40 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 v8-i586.patch diff --git a/nodejs22.changes b/nodejs22.changes index 146339a..938177b 100644 --- a/nodejs22.changes +++ b/nodejs22.changes @@ -5,6 +5,8 @@ Tue May 14 14:25:41 UTC 2024 - Adam Majer For overview of changes and details since 21.x and earlier see https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V22.md#22.1.0 +- v8-i586.patch: fix 32bit build with new gcc + - Imported patches from 21.x: * cares_public_headers.patch * fix_ci_tests.patch diff --git a/nodejs22.spec b/nodejs22.spec index f1e1c38..f90035c 100644 --- a/nodejs22.spec +++ b/nodejs22.spec @@ -171,6 +171,7 @@ Patch132: test-skip-y2038-on-32bit-time_t.patch Patch200: versioned.patch Patch305: qemu_timeouts_arches.patch +Patch307: v8-i586.patch Patch309: gcc13.patch BuildRequires: pkg-config @@ -684,6 +685,7 @@ popd %patch -P 200 -p1 %patch -P 305 -p1 +%patch -P 307 -p1 %patch -P 309 -p1 %if %{node_version_number} == 12 diff --git a/v8-i586.patch b/v8-i586.patch new file mode 100644 index 0000000..1489433 --- /dev/null +++ b/v8-i586.patch @@ -0,0 +1,40 @@ +Index: node-v22.1.0/deps/v8/src/compiler/backend/ia32/instruction-selector-ia32.cc +=================================================================== +--- node-v22.1.0.orig/deps/v8/src/compiler/backend/ia32/instruction-selector-ia32.cc ++++ node-v22.1.0/deps/v8/src/compiler/backend/ia32/instruction-selector-ia32.cc +@@ -1161,7 +1161,7 @@ template + void VisitAtomicExchange(InstructionSelectorT* selector, + typename Adapter::node_t node, ArchOpcode opcode, + MachineRepresentation rep) { +- using node_t = Adapter::node_t; ++ using node_t = typename Adapter::node_t; + IA32OperandGeneratorT g(selector); + node_t base = selector->input_at(node, 0); + node_t index = selector->input_at(node, 1); +@@ -1732,7 +1732,7 @@ template + void VisitWord32PairShift(InstructionSelectorT* selector, + InstructionCode opcode, + typename Adapter::node_t node) { +- using node_t = Adapter::node_t; ++ using node_t = typename Adapter::node_t; + IA32OperandGeneratorT g(selector); + + node_t shift = selector->input_at(node, 2); +@@ -2507,7 +2507,7 @@ template + void VisitAtomicBinOp(InstructionSelectorT* selector, + typename Adapter::node_t node, ArchOpcode opcode, + MachineRepresentation rep) { +- using node_t = Adapter::node_t; ++ using node_t = typename Adapter::node_t; + AddressingMode addressing_mode; + IA32OperandGeneratorT g(selector); + node_t base = selector->input_at(node, 0); +@@ -2528,7 +2528,7 @@ void VisitAtomicBinOp(InstructionSelecto + template + void VisitPairAtomicBinOp(InstructionSelectorT* selector, + typename Adapter::node_t node, ArchOpcode opcode) { +- using node_t = Adapter::node_t; ++ using node_t = typename Adapter::node_t; + IA32OperandGeneratorT g(selector); + node_t base = selector->input_at(node, 0); + node_t index = selector->input_at(node, 1);