Hi, Is there any issue with this patch.
-Archana ________________________________ From: openembedded-devel@lists.openembedded.org <openembedded-devel@lists.openembedded.org> on behalf of Polampalli, Archana via lists.openembedded.org <archana.polampalli=windriver....@lists.openembedded.org> Sent: 01 September 2023 21:42 To: openembedded-devel@lists.openembedded.org <openembedded-devel@lists.openembedded.org> Subject: [oe][meta-oe][PATCH 1/1] nodejs: upgrade 18.17.1 -> 20.5.1 Update to latest release of latest LTS 20 release * node v20 introduces several new features and fixes many bugs and CVEs as shown in [1] * Refresh 0001-liftoff-Correct-function-signatures.patch against 20.5.1 * License-Update: - Change zlib version 1.2.13, October 13th, 2022 to version 1.2.13.1, October xxth, 2022 [2] - Change Copyright 2023 from Ada authors to Yagiz Nizipli and Daniel Lemire [4] * Remove big-endian.patch as it is merged in v20.x [5] [6] * Remove below list of patches since mips32 is deleted from v8 as part of update V8 to 10.7.193.13 [7] [8] - mips-less-memory.patch - 0001-mips-Use-32bit-cast-for-operand-on-mips32.patch * Update Using-native-binaries.patch for node_js2c, it resolved below do_compile error [9] Error: /bin/sh: line 1: build/tmp/work/core2-64-poky-linux/nodejs/20.5.1/node-v20.5.1/out/Release/node_js2c: No such file or directory * Remove obsolete dtrace & etw configure options (we had: --without-<feature>) from the recipe [10] https://github.com/nodejs/node/releases/tag/v20.5.1 [1] https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V20.md [2] https://github.com/nodejs/node/commit/f1007325753e62b13083f6e9e499fdc33f753d7d [3] https://github.com/nodejs/node/commit/900ae1bda76caaa7213431a5268560b578ed2d55 [4] https://github.com/nodejs/node/commit/d2465369243bc4313d9840b62c2393c4f179ffbb [5] https://github.com/v8/v8/commit/3cea5d5425c3a0d7d1768b3758269ac98875de77 [6] https://github.com/nodejs/node/commit/f226350fcbebd4449fb0034fdaffa147e4de28ea [7] https://github.com/v8/v8/commit/a26ca5ed147dde47f02d70c5b38d8befc1c93cb3 [8] https://github.com/nodejs/node/commit/6bd756d7c6dfb7dc25daee329ad70df68c14223e [9] https://github.com/nodejs/node/commit/4da7bc915c714989eba7eab753db9eb9ebd8451a [10] https://github.com/nodejs/node/commit/aa3a572e6bee116cde69508dc29478b40f40551a Signed-off-by: Archana Polampalli <archana.polampa...@windriver.com> --- .../oe-npm-cache | 0 ...8.17.bb => nodejs-oe-cache-native_20.5.bb} | 0 .../nodejs/0001-Using-native-binaries.patch | 19 ++++++++- ...-liftoff-Correct-function-signatures.patch | 42 +++++++------------ ...Use-32bit-cast-for-operand-on-mips32.patch | 34 --------------- .../nodejs/nodejs/big-endian.patch | 18 -------- .../nodejs/nodejs/mips-less-memory.patch | 37 ---------------- .../{nodejs_18.17.1.bb => nodejs_20.5.1.bb} | 9 +--- 8 files changed, 34 insertions(+), 125 deletions(-) rename meta-oe/recipes-devtools/nodejs/{nodejs-oe-cache-18.17 => nodejs-oe-cache-20.5}/oe-npm-cache (100%) rename meta-oe/recipes-devtools/nodejs/{nodejs-oe-cache-native_18.17.bb => nodejs-oe-cache-native_20.5.bb} (100%) delete mode 100644 meta-oe/recipes-devtools/nodejs/nodejs/0001-mips-Use-32bit-cast-for-operand-on-mips32.patch delete mode 100644 meta-oe/recipes-devtools/nodejs/nodejs/big-endian.patch delete mode 100644 meta-oe/recipes-devtools/nodejs/nodejs/mips-less-memory.patch rename meta-oe/recipes-devtools/nodejs/{nodejs_18.17.1.bb => nodejs_20.5.1.bb} (94%) diff --git a/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-18.17/oe-npm-cache b/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-20.5/oe-npm-cache similarity index 100% rename from meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-18.17/oe-npm-cache rename to meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-20.5/oe-npm-cache diff --git a/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_18.17.bb b/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_20.5.bb similarity index 100% rename from meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_18.17.bb rename to meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_20.5.bb diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-Using-native-binaries.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-Using-native-binaries.patch index 66e10a0d0..0178cec77 100644 --- a/meta-oe/recipes-devtools/nodejs/nodejs/0001-Using-native-binaries.patch +++ b/meta-oe/recipes-devtools/nodejs/nodejs/0001-Using-native-binaries.patch @@ -12,7 +12,7 @@ https://git.openembedded.org/meta-openembedded/commit/?id=feeb172d1a8bf010490d22 Signed-off-by: Archana Polampalli <archana.polampa...@windriver.com> --- - node.gyp | 1 + + node.gyp | 3 + tools/v8_gypfiles/v8.gyp | 5 +++++ 2 files changed, 6 insertions(+) @@ -28,6 +28,23 @@ index e8e1d9f9..e60ccc10 100644 '<(node_mksnapshot_exec)', '<(node_snapshot_main)', ], +@@ -935,6 +935,7 @@ + 'action_name': 'node_js2c', + 'process_outputs_as_sources': 1, + 'inputs': [ ++ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh', + '<(node_js2c_exec)', + '<@(library_files)', + '<@(deps_files)', +@@ -944,6 +945,7 @@ + '<(SHARED_INTERMEDIATE_DIR)/node_javascript.cc', + ], + 'action': [ ++ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh', + '<(node_js2c_exec)', + '<@(_outputs)', + 'lib', + diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp index 42e26cd9..bc721991 100644 --- a/tools/v8_gypfiles/v8.gyp diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-liftoff-Correct-function-signatures.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-liftoff-Correct-function-signatures.patch index c9a522d2e..5af87d866 100644 --- a/meta-oe/recipes-devtools/nodejs/nodejs/0001-liftoff-Correct-function-signatures.patch +++ b/meta-oe/recipes-devtools/nodejs/nodejs/0001-liftoff-Correct-function-signatures.patch @@ -1,6 +1,6 @@ From dc3652c0abcdf8573fd044907b19d8eda7ca1124 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.k...@gmail.com> -Date: Wed, 20 Oct 2021 12:49:58 -0700 +Date: Mon, 3 Jul 2023 12:33:16 +0000 Subject: [PATCH] [liftoff] Correct function signatures Fixes builds on mips where clang reports an error @@ -13,16 +13,15 @@ Upstream-Status: Submitted [https://chromium-review.googlesource.com/c/v8/v8/+/3 Signed-off-by: Archana Polampalli <archana.polampa...@windriver.com> --- deps/v8/src/wasm/baseline/liftoff-assembler.h | 6 +++--- - deps/v8/src/wasm/baseline/mips/liftoff-assembler-mips.h | 2 +- deps/v8/src/wasm/baseline/mips64/liftoff-assembler-mips64.h | 2 +- - .../src/wasm/baseline/riscv64/liftoff-assembler-riscv64.h | 2 +- - 4 files changed, 6 insertions(+), 6 deletions(-) + deps/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv64.h | 2 +- + 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/deps/v8/src/wasm/baseline/liftoff-assembler.h b/deps/v8/src/wasm/baseline/liftoff-assembler.h -index 22c7f73a..db4cb168 100644 +index aef63c64..f2a11b01 100644 --- a/deps/v8/src/wasm/baseline/liftoff-assembler.h +++ b/deps/v8/src/wasm/baseline/liftoff-assembler.h -@@ -646,7 +646,7 @@ class LiftoffAssembler : public TurboAssembler { +@@ -717,7 +717,7 @@ class LiftoffAssembler : public MacroAssembler { void FinishCall(const ValueKindSig*, compiler::CallDescriptor*); // Move {src} into {dst}. {src} and {dst} must be different. @@ -31,7 +30,7 @@ index 22c7f73a..db4cb168 100644 // Parallel register move: For a list of tuples <dst, src, kind>, move the // {src} register of kind {kind} into {dst}. If {src} equals {dst}, ignore -@@ -795,8 +795,8 @@ class LiftoffAssembler : public TurboAssembler { +@@ -884,8 +884,8 @@ class LiftoffAssembler : public MacroAssembler { inline void MoveStackValue(uint32_t dst_offset, uint32_t src_offset, ValueKind); @@ -42,24 +41,11 @@ index 22c7f73a..db4cb168 100644 inline void Spill(int offset, LiftoffRegister, ValueKind); inline void Spill(int offset, WasmValue); -diff --git a/deps/v8/src/wasm/baseline/mips/liftoff-assembler-mips.h b/deps/v8/src/wasm/baseline/mips/liftoff-assembler-mips.h -index c76fd2f4..0fffe231 100644 ---- a/deps/v8/src/wasm/baseline/mips/liftoff-assembler-mips.h -+++ b/deps/v8/src/wasm/baseline/mips/liftoff-assembler-mips.h -@@ -661,7 +661,7 @@ void LiftoffAssembler::Store(Register dst_addr, Register offset_reg, - pinned = pinned | LiftoffRegList{dst_op.rm(), src}; - LiftoffRegister tmp = GetUnusedRegister(src.reg_class(), pinned); - // Save original value. -- Move(tmp, src, type.value_type()); -+ Move(tmp, src, type.value_type().kind()); - - src = tmp; - pinned.set(tmp); diff --git a/deps/v8/src/wasm/baseline/mips64/liftoff-assembler-mips64.h b/deps/v8/src/wasm/baseline/mips64/liftoff-assembler-mips64.h -index 36413545..48207337 100644 +index 96cba24c..53e1842d 100644 --- a/deps/v8/src/wasm/baseline/mips64/liftoff-assembler-mips64.h +++ b/deps/v8/src/wasm/baseline/mips64/liftoff-assembler-mips64.h -@@ -593,7 +593,7 @@ void LiftoffAssembler::Store(Register dst_addr, Register offset_reg, +@@ -592,7 +592,7 @@ void LiftoffAssembler::Store(Register dst_addr, Register offset_reg, pinned.set(dst_op.rm()); LiftoffRegister tmp = GetUnusedRegister(src.reg_class(), pinned); // Save original value. @@ -68,11 +54,11 @@ index 36413545..48207337 100644 src = tmp; pinned.set(tmp); -diff --git a/deps/v8/src/wasm/baseline/riscv64/liftoff-assembler-riscv64.h b/deps/v8/src/wasm/baseline/riscv64/liftoff-assembler-riscv64.h -index 642a7d2a..56ffcc2a 100644 ---- a/deps/v8/src/wasm/baseline/riscv64/liftoff-assembler-riscv64.h -+++ b/deps/v8/src/wasm/baseline/riscv64/liftoff-assembler-riscv64.h -@@ -589,7 +589,7 @@ void LiftoffAssembler::Store(Register dst_addr, Register offset_reg, +diff --git a/deps/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv64.h b/deps/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv64.h +index 1d6ae09e..397e82b2 100644 +--- a/deps/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv64.h ++++ b/deps/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv64.h +@@ -286,7 +286,7 @@ void LiftoffAssembler::Store(Register dst_addr, Register offset_reg, pinned.set(dst_op.rm()); LiftoffRegister tmp = GetUnusedRegister(src.reg_class(), pinned); // Save original value. @@ -82,4 +68,4 @@ index 642a7d2a..56ffcc2a 100644 src = tmp; pinned.set(tmp); -- -2.34.1 +2.40.0 diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-mips-Use-32bit-cast-for-operand-on-mips32.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-mips-Use-32bit-cast-for-operand-on-mips32.patch deleted file mode 100644 index a0242d8e1..000000000 --- a/meta-oe/recipes-devtools/nodejs/nodejs/0001-mips-Use-32bit-cast-for-operand-on-mips32.patch +++ /dev/null @@ -1,34 +0,0 @@ -From e65dde8db17da5acddeef7eb9316199c4e5e0811 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.k...@gmail.com> -Date: Tue, 19 Apr 2022 12:40:25 -0700 -Subject: [PATCH] mips: Use 32bit cast for operand on mips32 - -Fixes -deps/v8/src/compiler/backend/mips/code-generator-mips.cc: In member function 'void v8::internal::compiler::CodeGenerator::AssembleReturn(v8::internal::compiler::InstructionOperand*)': -../deps/v8/src/compiler/backend/mips/code-generator-mips.cc:4233:48: error: call of overloaded 'Operand(int64_t)' is ambiguous - 4233 | Operand(static_cast<int64_t>(0))); - | ^ - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.k...@gmail.com> ---- - deps/v8/src/compiler/backend/mips/code-generator-mips.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/deps/v8/src/compiler/backend/mips/code-generator-mips.cc b/deps/v8/src/compiler/backend/mips/code-generator-mips.cc -index 2b8197e..b226140 100644 ---- a/deps/v8/src/compiler/backend/mips/code-generator-mips.cc -+++ b/deps/v8/src/compiler/backend/mips/code-generator-mips.cc -@@ -4230,7 +4230,7 @@ void CodeGenerator::AssembleReturn(InstructionOperand* additional_pop_count) { - } else if (FLAG_debug_code) { - __ Assert(eq, AbortReason::kUnexpectedAdditionalPopValue, - g.ToRegister(additional_pop_count), -- Operand(static_cast<int64_t>(0))); -+ Operand(static_cast<int32_t>(0))); - } - } - // Functions with JS linkage have at least one parameter (the receiver). --- -2.36.0 - diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/big-endian.patch b/meta-oe/recipes-devtools/nodejs/nodejs/big-endian.patch deleted file mode 100644 index 529381842..000000000 --- a/meta-oe/recipes-devtools/nodejs/nodejs/big-endian.patch +++ /dev/null @@ -1,18 +0,0 @@ - -https://github.com/v8/v8/commit/878ccb33bd3cf0e6dc018ff8d15843f585ac07be - -did some automated cleanups but it missed big-endian code. - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.k...@gmail.com> ---- a/deps/v8/src/runtime/runtime-utils.h -+++ b/deps/v8/src/runtime/runtime-utils.h -@@ -126,7 +126,7 @@ static inline ObjectPair MakePair(Object - #if defined(V8_TARGET_LITTLE_ENDIAN) - return x.ptr() | (static_cast<ObjectPair>(y.ptr()) << 32); - #elif defined(V8_TARGET_BIG_ENDIAN) -- return y->ptr() | (static_cast<ObjectPair>(x->ptr()) << 32); -+ return y.ptr() | (static_cast<ObjectPair>(x.ptr()) << 32); - #else - #error Unknown endianness - #endif diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/mips-less-memory.patch b/meta-oe/recipes-devtools/nodejs/nodejs/mips-less-memory.patch deleted file mode 100644 index 16776cb76..000000000 --- a/meta-oe/recipes-devtools/nodejs/nodejs/mips-less-memory.patch +++ /dev/null @@ -1,37 +0,0 @@ -Description: mksnapshot uses too much memory on 32-bit mipsel -Author: Jérémy Lal <kapo...@melix.org> -Last-Update: 2020-06-03 -Forwarded: https://bugs.chromium.org/p/v8/issues/detail?id=10586 - -This ensures that we reserve 500M instead of 2G range for codegen -ensures that qemu-mips can allocate such large ranges - -Upstream-Status: Inappropriate [embedded specific] - -Imported from debian https://salsa.debian.org/js-team/nodejs/-/blob/master-12.x/debian/patches/mips-less-memory.patch -https://buildd.debian.org/status/fetch.php?pkg=nodejs&arch=mipsel&ver=12.17.0~dfsg-2&stamp=1591050388&raw=0 - -Signed-off-by: Khem Raj <raj.k...@gmail.com> - ---- a/deps/v8/src/common/globals.h -+++ b/deps/v8/src/common/globals.h -@@ -224,7 +224,7 @@ constexpr size_t kMinimumCodeRangeSize = - constexpr size_t kMinExpectedOSPageSize = 64 * KB; // OS page on PPC Linux - #elif V8_TARGET_ARCH_MIPS - constexpr bool kPlatformRequiresCodeRange = false; --constexpr size_t kMaximalCodeRangeSize = 2048LL * MB; -+constexpr size_t kMaximalCodeRangeSize = 512 * MB; - constexpr size_t kMinimumCodeRangeSize = 0 * MB; - constexpr size_t kMinExpectedOSPageSize = 4 * KB; // OS page. - #else ---- a/deps/v8/src/codegen/mips/constants-mips.h -+++ b/deps/v8/src/codegen/mips/constants-mips.h -@@ -140,7 +140,7 @@ const uint32_t kLeastSignificantByteInIn - namespace v8 { - namespace internal { - --constexpr size_t kMaxPCRelativeCodeRangeInMB = 4096; -+constexpr size_t kMaxPCRelativeCodeRangeInMB = 1024; - - // ----------------------------------------------------------------------------- - // Registers and FPURegisters. diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_18.17.1.bb b/meta-oe/recipes-devtools/nodejs/nodejs_20.5.1.bb similarity index 94% rename from meta-oe/recipes-devtools/nodejs/nodejs_18.17.1.bb rename to meta-oe/recipes-devtools/nodejs/nodejs_20.5.1.bb index ee5e848bf..6bb0f7fab 100644 --- a/meta-oe/recipes-devtools/nodejs/nodejs_18.17.1.bb +++ b/meta-oe/recipes-devtools/nodejs/nodejs_20.5.1.bb @@ -1,7 +1,7 @@ DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" HOMEPAGE = "http://nodejs.org" LICENSE = "MIT & ISC & BSD-2-Clause & BSD-3-Clause & Artistic-2.0 & Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=bc1f9ebe76be76f163e3b675303ad9cd" +LIC_FILES_CHKSUM = "file://LICENSE;md5=059ecf3a6f87111685e51b611b9563e5" CVE_PRODUCT = "nodejs node.js" @@ -22,11 +22,8 @@ COMPATIBLE_HOST:powerpc = "null" SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \ file://0001-Disable-running-gyp-files-for-bundled-deps.patch \ file://0004-v8-don-t-override-ARM-CFLAGS.patch \ - file://big-endian.patch \ - file://mips-less-memory.patch \ file://system-c-ares.patch \ file://0001-liftoff-Correct-function-signatures.patch \ - file://0001-mips-Use-32bit-cast-for-operand-on-mips32.patch \ file://run-ptest \ " @@ -39,7 +36,7 @@ SRC_URI:append:toolchain-clang:x86 = " \ SRC_URI:append:toolchain-clang:powerpc64le = " \ file://0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch \ " -SRC_URI[sha256sum] = "f215cf03d0f00f07ac0b674c6819f804c1542e16f152da04980022aeccf5e65a" +SRC_URI[sha256sum] = "439c71aa2f38c2861657bfa538e99191a571258066cbfd4548586049c8134190" S = "${WORKDIR}/node-v${PV}" @@ -148,8 +145,6 @@ do_configure () { # $TARGET_ARCH settings don't match --dest-cpu settings python3 configure.py --verbose --prefix=${prefix} \ --shared-openssl \ - --without-dtrace \ - --without-etw \ --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \ --dest-os=linux \ --libdir=${baselib} \ -- 2.40.0
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#105215): https://lists.openembedded.org/g/openembedded-devel/message/105215 Mute This Topic: https://lists.openembedded.org/mt/101098430/21656 Group Owner: openembedded-devel+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-