summaryrefslogtreecommitdiff
path: root/net-libs/nodejs/files/nodejs-18.16.0-paxmarking.patch
blob: 9decb13ec47b5d54091ca1a68d0f821c098d0e1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
From 4c910c45a73c61f908f85661a1568a614afde081 Mon Sep 17 00:00:00 2001
From: William Hubbs <w.d.hubbs@gmail.com>
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