Skip to content

Commit

Permalink
Merge pull request #1965 from blshkv/master
Browse files Browse the repository at this point in the history
pytzdata: fork and unmask before Gentoo deleted it. We still need it
  • Loading branch information
ZeroChaos- authored Jun 22, 2024
2 parents 1912cc4 + b20de14 commit 19a1d27
Show file tree
Hide file tree
Showing 8 changed files with 628 additions and 1 deletion.
2 changes: 1 addition & 1 deletion dev-libs/libwrc/metadata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@
<name>Author Unknown</name>
</maintainer>
<upstream>
<remote-id type="github">libyal/libwrc</remote-id>
<remote-id type="github">libyal/libwrc</remote-id>
</upstream>
</pkgmetadata>
1 change: 1 addition & 0 deletions net-libs/nodejs/Manifest
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
DIST node-v20.12.2.tar.xz 41634476 BLAKE2B 4a402cd4d2a3d59e249581b8dafbd09802f1fc6c1173810a7198ebf73bbe9ccbe085226c1889461d6faa2654138f21a2636594dca1a02847af9fd64ef80293e5 SHA512 2ff2873f3e1a15d529d07a74af601194c9dc7c24e566b989c96fadda8636d7ea1c97787642e9483a00db320cf1cf0817b43c4ba3ad45b15a241997c9f0c6c288
101 changes: 101 additions & 0 deletions net-libs/nodejs/files/nodejs-18.16.0-paxmarking.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
From 4c910c45a73c61f908f85661a1568a614afde081 Mon Sep 17 00:00:00 2001
From: William Hubbs <[email protected]>
Date: Mon, 17 Apr 2023 11:43:17 -0500
Subject: [PATCH] pax marking

---
node.gyp | 17 ++++++++++++++++-
tools/v8_gypfiles/v8.gyp | 24 +++++++++++++++++++++++-
2 files changed, 39 insertions(+), 2 deletions(-)

diff --git a/node.gyp b/node.gyp
index cf52281bb4..80352dfcc5 100644
--- a/node.gyp
+++ b/node.gyp
@@ -54,6 +54,7 @@
'<@(node_builtin_shareable_builtins)',
],
'node_mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_mksnapshot<(EXECUTABLE_SUFFIX)',
+ 'node_mksnapshot_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_mksnapshot_u<(EXECUTABLE_SUFFIX)',
'conditions': [
['GENERATOR == "ninja"', {
'node_text_start_object_path': 'src/large_pages/node_text_start.node_text_start.o'
@@ -337,11 +338,25 @@
],
}, {
'actions': [
+ {
+ 'action_name': 'run_pax_mksnapshot',
+ 'inputs': [
+ '<(node_mksnapshot_exec)',
+ ],
+ 'outputs': [
+ '<(node_mksnapshot_u_exec)',
+ ],
+ 'action': [
+ 'bash',
+ '-c',
+ 'mv <(node_mksnapshot_exec) <(node_mksnapshot_u_exec) && paxmark.sh m <(node_mksnapshot_u_exec)',
+ ],
+ },
{
'action_name': 'node_mksnapshot',
'process_outputs_as_sources': 1,
'inputs': [
- '<(node_mksnapshot_exec)',
+ '<(node_mksnapshot_u_exec)',
],
'outputs': [
'<(SHARED_INTERMEDIATE_DIR)/node_snapshot.cc',
diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp
index a721ffb41a..4a52a1f822 100644
--- a/tools/v8_gypfiles/v8.gyp
+++ b/tools/v8_gypfiles/v8.gyp
@@ -9,6 +9,7 @@
'v8_vector_stores%': 0,
'v8_embed_script%': "",
'mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot<(EXECUTABLE_SUFFIX)',
+ 'mksnapshot_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot_u<(EXECUTABLE_SUFFIX)',
'v8_os_page_size%': 0,
'generate_bytecode_output_root': '<(SHARED_INTERMEDIATE_DIR)/generate-bytecode-output-root',
'generate_bytecode_builtins_list_output': '<(generate_bytecode_output_root)/builtins-generated/bytecodes-builtins-list.h',
@@ -1419,7 +1420,7 @@
],
}, # bytecode_builtins_list_generator
{
- 'target_name': 'mksnapshot',
+ 'target_name': 'mksnapshot_u',
'type': 'executable',
'dependencies': [
'v8_base_without_compiler',
@@ -1446,6 +1447,27 @@
],
}],
],
+ }, # mksnapshot_u
+ {
+ 'target_name': 'mksnapshot',
+ 'type': 'none',
+ 'dependencies': ['mksnapshot_u'],
+ 'actions': [
+ {
+ 'action_name': 'paxmark_mksnapshot',
+ 'inputs': [
+ '<(mksnapshot_u_exec)',
+ ],
+ 'outputs': [
+ '<(mksnapshot_exec)',
+ ],
+ 'action': [
+ 'bash',
+ '-c',
+ 'cp <(mksnapshot_u_exec) <(mksnapshot_exec) && paxmark.sh m <(mksnapshot_exec)'
+ ],
+ },
+ ],
}, # mksnapshot
{
'target_name': 'torque',
--
2.39.2

155 changes: 155 additions & 0 deletions net-libs/nodejs/files/nodejs-20.11.0-riscv.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
From dda5cdb15cfe5c7437f471054f5bd79a82b6eda2 Mon Sep 17 00:00:00 2001
From: kxxt <[email protected]>
Date: Wed, 17 Jan 2024 09:16:34 +0800
Subject: [PATCH] Revert "deps: V8: cherry-pick 13192d6e10fa"

This reverts commit bc2ebb972b34f54e042de9636e7451d2526436a9, which
shouldn't be applied to v20.x.

Fix https://github.com/nodejs/unofficial-builds/issues/106
---
common.gypi | 2 +-
deps/v8/src/builtins/riscv/builtins-riscv.cc | 2 +-
deps/v8/src/codegen/riscv/assembler-riscv-inl.h | 16 ++++++++--------
deps/v8/src/codegen/riscv/assembler-riscv.h | 2 +-
deps/v8/src/execution/riscv/simulator-riscv.cc | 8 ++++----
.../regexp/riscv/regexp-macro-assembler-riscv.cc | 2 +-
6 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/common.gypi b/common.gypi
index db09a8a33df06..fa0729ffe45e8 100644
--- a/common.gypi
+++ b/common.gypi
@@ -36,7 +36,7 @@

# Reset this number to 0 on major V8 upgrades.
# Increment by one for each non-official patch applied to deps/v8.
- 'v8_embedder_string': '-node.17',
+ 'v8_embedder_string': '-node.18',

##### V8 defaults for Node.js #####

diff --git a/deps/v8/src/builtins/riscv/builtins-riscv.cc b/deps/v8/src/builtins/riscv/builtins-riscv.cc
index d6091434b9b0a..3404562785991 100644
--- a/deps/v8/src/builtins/riscv/builtins-riscv.cc
+++ b/deps/v8/src/builtins/riscv/builtins-riscv.cc
@@ -1512,7 +1512,7 @@ static void Generate_InterpreterEnterBytecode(MacroAssembler* masm) {
// Set the return address to the correct point in the interpreter entry
// trampoline.
Label builtin_trampoline, trampoline_loaded;
- Tagged<Smi> interpreter_entry_return_pc_offset(
+ Smi interpreter_entry_return_pc_offset(
masm->isolate()->heap()->interpreter_entry_return_pc_offset());
DCHECK_NE(interpreter_entry_return_pc_offset, Smi::zero());

diff --git a/deps/v8/src/codegen/riscv/assembler-riscv-inl.h b/deps/v8/src/codegen/riscv/assembler-riscv-inl.h
index ca6d641e2c94e..55f191e6afe76 100644
--- a/deps/v8/src/codegen/riscv/assembler-riscv-inl.h
+++ b/deps/v8/src/codegen/riscv/assembler-riscv-inl.h
@@ -128,9 +128,9 @@ Handle<HeapObject> Assembler::compressed_embedded_object_handle_at(
}

void Assembler::deserialization_set_special_target_at(
- Address instruction_payload, Tagged<Code> code, Address target) {
+ Address instruction_payload, Code code, Address target) {
set_target_address_at(instruction_payload,
- !code.is_null() ? code->constant_pool() : kNullAddress,
+ !code.is_null() ? code.constant_pool() : kNullAddress,
target);
}

@@ -159,13 +159,12 @@ void Assembler::deserialization_set_target_internal_reference_at(
}
}

-Tagged<HeapObject> RelocInfo::target_object(PtrComprCageBase cage_base) {
+HeapObject RelocInfo::target_object(PtrComprCageBase cage_base) {
DCHECK(IsCodeTarget(rmode_) || IsEmbeddedObjectMode(rmode_));
if (IsCompressedEmbeddedObject(rmode_)) {
- return HeapObject::cast(
- Tagged<Object>(V8HeapCompressionScheme::DecompressTagged(
- cage_base,
- Assembler::target_compressed_address_at(pc_, constant_pool_))));
+ return HeapObject::cast(Object(V8HeapCompressionScheme::DecompressTagged(
+ cage_base,
+ Assembler::target_compressed_address_at(pc_, constant_pool_))));
} else {
return HeapObject::cast(
Object(Assembler::target_address_at(pc_, constant_pool_)));
@@ -187,7 +186,8 @@ Handle<HeapObject> RelocInfo::target_object_handle(Assembler* origin) {
}
}

-void RelocInfo::set_target_object(Tagged<HeapObject> target,
+void RelocInfo::set_target_object(Heap* heap, HeapObject target,
+ WriteBarrierMode write_barrier_mode,
ICacheFlushMode icache_flush_mode) {
DCHECK(IsCodeTarget(rmode_) || IsEmbeddedObjectMode(rmode_));
if (IsCompressedEmbeddedObject(rmode_)) {
diff --git a/deps/v8/src/codegen/riscv/assembler-riscv.h b/deps/v8/src/codegen/riscv/assembler-riscv.h
index bcd5a62d324ee..ed222b52d6927 100644
--- a/deps/v8/src/codegen/riscv/assembler-riscv.h
+++ b/deps/v8/src/codegen/riscv/assembler-riscv.h
@@ -286,7 +286,7 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase,
// This is for calls and branches within generated code. The serializer
// has already deserialized the lui/ori instructions etc.
inline static void deserialization_set_special_target_at(Address location,
- Tagged<Code> code,
+ Code code,
Address target);

// Get the size of the special target encoded at 'instruction_payload'.
diff --git a/deps/v8/src/execution/riscv/simulator-riscv.cc b/deps/v8/src/execution/riscv/simulator-riscv.cc
index 052a2d67dd7e4..9582db489638a 100644
--- a/deps/v8/src/execution/riscv/simulator-riscv.cc
+++ b/deps/v8/src/execution/riscv/simulator-riscv.cc
@@ -1781,7 +1781,7 @@ void RiscvDebugger::Debug() {
sreg_t value;
StdoutStream os;
if (GetValue(arg1, &value)) {
- Tagged<Object> obj(value);
+ Object obj(value);
os << arg1 << ": \n";
#ifdef DEBUG
obj.Print(os);
@@ -1830,7 +1830,7 @@ void RiscvDebugger::Debug() {
PrintF(" 0x%012" PRIxPTR " : 0x%016" REGIx_FORMAT
" %14" REGId_FORMAT " ",
reinterpret_cast<intptr_t>(cur), *cur, *cur);
- Tagged<Object> obj(*cur);
+ Object obj(*cur);
Heap* current_heap = sim_->isolate_->heap();
if (obj.IsSmi() ||
IsValidHeapObject(current_heap, HeapObject::cast(obj))) {
@@ -4692,7 +4692,7 @@ bool Simulator::DecodeRvvVS() {
Builtin Simulator::LookUp(Address pc) {
for (Builtin builtin = Builtins::kFirst; builtin <= Builtins::kLast;
++builtin) {
- if (builtins_.code(builtin)->contains(isolate_, pc)) return builtin;
+ if (builtins_.code(builtin).contains(isolate_, pc)) return builtin;
}
return Builtin::kNoBuiltinId;
}
@@ -4709,7 +4709,7 @@ void Simulator::DecodeRVIType() {
if (builtin != Builtin::kNoBuiltinId) {
auto code = builtins_.code(builtin);
if ((rs1_reg() != ra || imm12() != 0)) {
- if ((Address)get_pc() == code->instruction_start()) {
+ if ((Address)get_pc() == code.InstructionStart()) {
sreg_t arg0 = get_register(a0);
sreg_t arg1 = get_register(a1);
sreg_t arg2 = get_register(a2);
diff --git a/deps/v8/src/regexp/riscv/regexp-macro-assembler-riscv.cc b/deps/v8/src/regexp/riscv/regexp-macro-assembler-riscv.cc
index 72f89767eb348..4063b4b3d2194 100644
--- a/deps/v8/src/regexp/riscv/regexp-macro-assembler-riscv.cc
+++ b/deps/v8/src/regexp/riscv/regexp-macro-assembler-riscv.cc
@@ -1211,7 +1211,7 @@ static T* frame_entry_address(Address re_frame, int frame_offset) {
int64_t RegExpMacroAssemblerRISCV::CheckStackGuardState(Address* return_address,
Address raw_code,
Address re_frame) {
- Tagged<InstructionStream> re_code = InstructionStream::cast(Object(raw_code));
+ InstructionStream re_code = InstructionStream::cast(Object(raw_code));
return NativeRegExpMacroAssembler::CheckStackGuardState(
frame_entry<Isolate*>(re_frame, kIsolateOffset),
static_cast<int>(frame_entry<int64_t>(re_frame, kStartIndexOffset)),

88 changes: 88 additions & 0 deletions net-libs/nodejs/files/nodejs-20.6.0-paxmarking.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
diff --git a/node.gyp b/node.gyp
index 49e39c3ce8..767ebc4e5f 100644
--- a/node.gyp
+++ b/node.gyp
@@ -369,6 +369,7 @@
'src/quic/transportparams.h',
],
'node_mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_mksnapshot<(EXECUTABLE_SUFFIX)',
+ 'node_mksnapshot_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_mksnapshot_u<(EXECUTABLE_SUFFIX)',
'node_js2c_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_js2c<(EXECUTABLE_SUFFIX)',
'conditions': [
['GENERATOR == "ninja"', {
@@ -626,11 +627,25 @@
'conditions': [
['node_snapshot_main!=""', {
'actions': [
+ {
+ 'action_name': 'run_pax_mksnapshot',
+ 'inputs': [
+ '<(node_mksnapshot_exec)',
+ ],
+ 'outputs': [
+ '<(node_mksnapshot_u_exec)',
+ ],
+ 'action': [
+ 'bash',
+ '-c',
+ 'mv <(node_mksnapshot_exec) <(node_mksnapshot_u_exec) && paxmark.sh m <(node_mksnapshot_u_exec)',
+ ],
+ },
{
'action_name': 'node_mksnapshot',
'process_outputs_as_sources': 1,
'inputs': [
- '<(node_mksnapshot_exec)',
+ '<(node_mksnapshot_u_exec)',
'<(node_snapshot_main)',
],
'outputs': [
diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp
index f822c056e5..8b2820abf7 100644
--- a/tools/v8_gypfiles/v8.gyp
+++ b/tools/v8_gypfiles/v8.gyp
@@ -9,6 +9,7 @@
'v8_vector_stores%': 0,
'v8_embed_script%': "",
'mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot<(EXECUTABLE_SUFFIX)',
+ 'mksnapshot_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot_u<(EXECUTABLE_SUFFIX)',
'v8_os_page_size%': 0,
'generate_bytecode_output_root': '<(SHARED_INTERMEDIATE_DIR)/generate-bytecode-output-root',
'generate_bytecode_builtins_list_output': '<(generate_bytecode_output_root)/builtins-generated/bytecodes-builtins-list.h',
@@ -1520,7 +1521,7 @@
],
}, # bytecode_builtins_list_generator
{
- 'target_name': 'mksnapshot',
+ 'target_name': 'mksnapshot_u',
'type': 'executable',
'dependencies': [
'v8_base_without_compiler',
@@ -1545,6 +1546,27 @@
'ldflags': [ '-fno-lto' ],
}],
],
+ }, # mksnapshot_u
+ {
+ 'target_name': 'mksnapshot',
+ 'type': 'none',
+ 'dependencies': ['mksnapshot_u'],
+ 'actions': [
+ {
+ 'action_name': 'paxmark_mksnapshot',
+ 'inputs': [
+ '<(mksnapshot_u_exec)',
+ ],
+ 'outputs': [
+ '<(mksnapshot_exec)',
+ ],
+ 'action': [
+ 'bash',
+ '-c',
+ 'cp <(mksnapshot_u_exec) <(mksnapshot_exec) && paxmark.sh m <(mksnapshot_exec)'
+ ],
+ },
+ ],
}, # mksnapshot
{
'target_name': 'torque',
21 changes: 21 additions & 0 deletions net-libs/nodejs/metadata.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>[email protected]</email>
<name>William Hubbs</name>
</maintainer>
<use>
<flag name="corepack">Enable the experimental corepack package management tool</flag>
<flag name="inspector">Enable V8 inspector</flag>
<flag name="npm">Enable NPM package manager</flag>
<flag name="pax-kernel">Enable building under a PaX enabled kernel</flag>
<flag name="snapshot">Enable snapshot creation for faster startup</flag>
<flag name="system-icu">Use system <pkg>dev-libs/icu</pkg> instead of the bundled version</flag>
<flag name="system-ssl">Use system OpenSSL instead of the bundled one</flag>
</use>
<upstream>
<remote-id type="github">nodejs/node</remote-id>
<remote-id type="cpe">cpe:/a:nodejs:nodejs</remote-id>
</upstream>
</pkgmetadata>
Loading

0 comments on commit 19a1d27

Please sign in to comment.