mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-04 14:39:54 +00:00
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.polampalli@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
committed by
Khem Raj
parent
4985fbfcf3
commit
13e83bd009
@@ -12,7 +12,7 @@ https://git.openembedded.org/meta-openembedded/commit/?id=feeb172d1a8bf010490d22
|
|||||||
|
|
||||||
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
|
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
|
||||||
---
|
---
|
||||||
node.gyp | 1 +
|
node.gyp | 3 +
|
||||||
tools/v8_gypfiles/v8.gyp | 5 +++++
|
tools/v8_gypfiles/v8.gyp | 5 +++++
|
||||||
2 files changed, 6 insertions(+)
|
2 files changed, 6 insertions(+)
|
||||||
|
|
||||||
@@ -28,6 +28,23 @@ index e8e1d9f9..e60ccc10 100644
|
|||||||
'<(node_mksnapshot_exec)',
|
'<(node_mksnapshot_exec)',
|
||||||
'<(node_snapshot_main)',
|
'<(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
|
diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp
|
||||||
index 42e26cd9..bc721991 100644
|
index 42e26cd9..bc721991 100644
|
||||||
--- a/tools/v8_gypfiles/v8.gyp
|
--- a/tools/v8_gypfiles/v8.gyp
|
||||||
|
|||||||
+14
-28
@@ -1,6 +1,6 @@
|
|||||||
From dc3652c0abcdf8573fd044907b19d8eda7ca1124 Mon Sep 17 00:00:00 2001
|
From dc3652c0abcdf8573fd044907b19d8eda7ca1124 Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@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
|
Subject: [PATCH] [liftoff] Correct function signatures
|
||||||
|
|
||||||
Fixes builds on mips where clang reports an error
|
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.polampalli@windriver.com>
|
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
|
||||||
---
|
---
|
||||||
deps/v8/src/wasm/baseline/liftoff-assembler.h | 6 +++---
|
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 +-
|
deps/v8/src/wasm/baseline/mips64/liftoff-assembler-mips64.h | 2 +-
|
||||||
.../src/wasm/baseline/riscv64/liftoff-assembler-riscv64.h | 2 +-
|
deps/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv64.h | 2 +-
|
||||||
4 files changed, 6 insertions(+), 6 deletions(-)
|
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
|
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
|
--- a/deps/v8/src/wasm/baseline/liftoff-assembler.h
|
||||||
+++ b/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*);
|
void FinishCall(const ValueKindSig*, compiler::CallDescriptor*);
|
||||||
|
|
||||||
// Move {src} into {dst}. {src} and {dst} must be different.
|
// 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
|
// 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
|
// {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,
|
inline void MoveStackValue(uint32_t dst_offset, uint32_t src_offset,
|
||||||
ValueKind);
|
ValueKind);
|
||||||
|
|
||||||
@@ -42,24 +41,11 @@ index 22c7f73a..db4cb168 100644
|
|||||||
|
|
||||||
inline void Spill(int offset, LiftoffRegister, ValueKind);
|
inline void Spill(int offset, LiftoffRegister, ValueKind);
|
||||||
inline void Spill(int offset, WasmValue);
|
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
|
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
|
--- a/deps/v8/src/wasm/baseline/mips64/liftoff-assembler-mips64.h
|
||||||
+++ b/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());
|
pinned.set(dst_op.rm());
|
||||||
LiftoffRegister tmp = GetUnusedRegister(src.reg_class(), pinned);
|
LiftoffRegister tmp = GetUnusedRegister(src.reg_class(), pinned);
|
||||||
// Save original value.
|
// Save original value.
|
||||||
@@ -68,11 +54,11 @@ index 36413545..48207337 100644
|
|||||||
|
|
||||||
src = tmp;
|
src = tmp;
|
||||||
pinned.set(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
|
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 642a7d2a..56ffcc2a 100644
|
index 1d6ae09e..397e82b2 100644
|
||||||
--- a/deps/v8/src/wasm/baseline/riscv64/liftoff-assembler-riscv64.h
|
--- a/deps/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv64.h
|
||||||
+++ b/deps/v8/src/wasm/baseline/riscv64/liftoff-assembler-riscv64.h
|
+++ b/deps/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv64.h
|
||||||
@@ -589,7 +589,7 @@ void LiftoffAssembler::Store(Register dst_addr, Register offset_reg,
|
@@ -286,7 +286,7 @@ void LiftoffAssembler::Store(Register dst_addr, Register offset_reg,
|
||||||
pinned.set(dst_op.rm());
|
pinned.set(dst_op.rm());
|
||||||
LiftoffRegister tmp = GetUnusedRegister(src.reg_class(), pinned);
|
LiftoffRegister tmp = GetUnusedRegister(src.reg_class(), pinned);
|
||||||
// Save original value.
|
// Save original value.
|
||||||
@@ -82,4 +68,4 @@ index 642a7d2a..56ffcc2a 100644
|
|||||||
src = tmp;
|
src = tmp;
|
||||||
pinned.set(tmp);
|
pinned.set(tmp);
|
||||||
--
|
--
|
||||||
2.34.1
|
2.40.0
|
||||||
|
|||||||
-34
@@ -1,34 +0,0 @@
|
|||||||
From e65dde8db17da5acddeef7eb9316199c4e5e0811 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Khem Raj <raj.khem@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.khem@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
|
|
||||||
|
|
||||||
@@ -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.khem@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
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
Description: mksnapshot uses too much memory on 32-bit mipsel
|
|
||||||
Author: Jérémy Lal <kapouer@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.khem@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.
|
|
||||||
+2
-7
@@ -1,7 +1,7 @@
|
|||||||
DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
|
DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
|
||||||
HOMEPAGE = "http://nodejs.org"
|
HOMEPAGE = "http://nodejs.org"
|
||||||
LICENSE = "MIT & ISC & BSD-2-Clause & BSD-3-Clause & Artistic-2.0 & Apache-2.0"
|
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"
|
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 \
|
SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \
|
||||||
file://0001-Disable-running-gyp-files-for-bundled-deps.patch \
|
file://0001-Disable-running-gyp-files-for-bundled-deps.patch \
|
||||||
file://0004-v8-don-t-override-ARM-CFLAGS.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://system-c-ares.patch \
|
||||||
file://0001-liftoff-Correct-function-signatures.patch \
|
file://0001-liftoff-Correct-function-signatures.patch \
|
||||||
file://0001-mips-Use-32bit-cast-for-operand-on-mips32.patch \
|
|
||||||
file://run-ptest \
|
file://run-ptest \
|
||||||
"
|
"
|
||||||
|
|
||||||
@@ -39,7 +36,7 @@ SRC_URI:append:toolchain-clang:x86 = " \
|
|||||||
SRC_URI:append:toolchain-clang:powerpc64le = " \
|
SRC_URI:append:toolchain-clang:powerpc64le = " \
|
||||||
file://0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch \
|
file://0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch \
|
||||||
"
|
"
|
||||||
SRC_URI[sha256sum] = "f215cf03d0f00f07ac0b674c6819f804c1542e16f152da04980022aeccf5e65a"
|
SRC_URI[sha256sum] = "439c71aa2f38c2861657bfa538e99191a571258066cbfd4548586049c8134190"
|
||||||
|
|
||||||
S = "${WORKDIR}/node-v${PV}"
|
S = "${WORKDIR}/node-v${PV}"
|
||||||
|
|
||||||
@@ -148,8 +145,6 @@ do_configure () {
|
|||||||
# $TARGET_ARCH settings don't match --dest-cpu settings
|
# $TARGET_ARCH settings don't match --dest-cpu settings
|
||||||
python3 configure.py --verbose --prefix=${prefix} \
|
python3 configure.py --verbose --prefix=${prefix} \
|
||||||
--shared-openssl \
|
--shared-openssl \
|
||||||
--without-dtrace \
|
|
||||||
--without-etw \
|
|
||||||
--dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \
|
--dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \
|
||||||
--dest-os=linux \
|
--dest-os=linux \
|
||||||
--libdir=${baselib} \
|
--libdir=${baselib} \
|
||||||
Reference in New Issue
Block a user