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',