diff --git a/common.gypi b/common.gypi index b89a8afff03a63..fd42f27d351282 100644 --- a/common.gypi +++ b/common.gypi @@ -40,29 +40,29 @@ 'conditions': [ ['GENERATOR=="ninja"', { - 'OBJ_DIR': '<(PRODUCT_DIR)/obj', - 'V8_BASE': '<(PRODUCT_DIR)/obj/deps/v8/src/libv8_base.a', + 'obj_dir': '<(PRODUCT_DIR)/obj', + 'v8_base': '<(PRODUCT_DIR)/obj/deps/v8/src/libv8_base.a', }, { - 'OBJ_DIR%': '<(PRODUCT_DIR)/obj.target', - 'V8_BASE%': '<(PRODUCT_DIR)/obj.target/deps/v8/src/libv8_base.a', + 'obj_dir%': '<(PRODUCT_DIR)/obj.target', + 'v8_base%': '<(PRODUCT_DIR)/obj.target/deps/v8/src/libv8_base.a', }], ['OS == "win"', { 'os_posix': 0, 'v8_postmortem_support%': 'false', - 'OBJ_DIR': '<(PRODUCT_DIR)/obj', - 'V8_BASE': '<(PRODUCT_DIR)/lib/v8_libbase.lib', + 'obj_dir': '<(PRODUCT_DIR)/obj', + 'v8_base': '<(PRODUCT_DIR)/lib/v8_libbase.lib', }, { 'os_posix': 1, 'v8_postmortem_support%': 'true', }], ['OS== "mac"', { - 'OBJ_DIR%': '<(PRODUCT_DIR)/obj.target', - 'V8_BASE': '<(PRODUCT_DIR)/libv8_base.a', + 'obj_dir%': '<(PRODUCT_DIR)/obj.target', + 'v8_base': '<(PRODUCT_DIR)/libv8_base.a', }], ['openssl_fips != ""', { - 'OPENSSL_PRODUCT': '<(STATIC_LIB_PREFIX)crypto<(STATIC_LIB_SUFFIX)', + 'openssl_product': '<(STATIC_LIB_PREFIX)crypto<(STATIC_LIB_SUFFIX)', }, { - 'OPENSSL_PRODUCT': '<(STATIC_LIB_PREFIX)openssl<(STATIC_LIB_SUFFIX)', + 'openssl_product': '<(STATIC_LIB_PREFIX)openssl<(STATIC_LIB_SUFFIX)', }], ['OS=="mac"', { 'clang%': 1, diff --git a/node.gyp b/node.gyp index 28f74f908c9392..1125a1e123a543 100644 --- a/node.gyp +++ b/node.gyp @@ -215,7 +215,7 @@ 'conditions': [ ['OS in "linux freebsd openbsd solaris android"', { 'ldflags': [ - '-Wl,--whole-archive,<(OBJ_DIR)/<(STATIC_LIB_PREFIX)' + '-Wl,--whole-archive,<(obj_dir)/<(STATIC_LIB_PREFIX)' '<(node_core_target_name)<(STATIC_LIB_SUFFIX)', '-Wl,--no-whole-archive', ], @@ -750,10 +750,10 @@ { 'action_name': 'node_dtrace_provider_o', 'inputs': [ - '<(OBJ_DIR)/<(node_lib_target_name)/src/node_dtrace.o', + '<(obj_dir)/<(node_lib_target_name)/src/node_dtrace.o', ], 'outputs': [ - '<(OBJ_DIR)/<(node_lib_target_name)/src/node_dtrace_provider.o' + '<(obj_dir)/<(node_lib_target_name)/src/node_dtrace_provider.o' ], 'action': [ 'dtrace', '-G', '-xnolibs', '-s', 'src/node_provider.d', '<@(_inputs)', '-o', '<@(_outputs)' ] @@ -785,7 +785,7 @@ { 'action_name': 'node_dtrace_ustack_constants', 'inputs': [ - '<(V8_BASE)' + '<(v8_base)' ], 'outputs': [ '<(SHARED_INTERMEDIATE_DIR)/v8constants.h' @@ -803,7 +803,7 @@ '<(SHARED_INTERMEDIATE_DIR)/v8constants.h' ], 'outputs': [ - '<(OBJ_DIR)/<(node_lib_target_name)/src/node_dtrace_ustack.o' + '<(obj_dir)/<(node_lib_target_name)/src/node_dtrace_ustack.o' ], 'conditions': [ [ 'target_arch=="ia32" or target_arch=="arm"', { @@ -883,7 +883,7 @@ 'type': 'executable', 'dependencies': [ - '<(node_core_target_name)', + '<(node_lib_target_name)', 'rename_node_bin_win', 'deps/gtest/gtest.gyp:gtest', 'node_js2c#host', @@ -892,39 +892,6 @@ 'node_dtrace_provider', ], - 'variables': { - 'OBJ_PATH': '<(OBJ_DIR)/<(node_lib_target_name)/src', - 'OBJ_GEN_PATH': '<(OBJ_DIR)/<(node_lib_target_name)/gen', - 'OBJ_TRACING_PATH': '<(OBJ_DIR)/<(node_lib_target_name)/src/tracing', - 'OBJ_SUFFIX': 'o', - 'OBJ_SEPARATOR': '/', - 'conditions': [ - ['OS=="win"', { - 'OBJ_SUFFIX': 'obj', - }], - ['GENERATOR=="ninja"', { - 'OBJ_PATH': '<(OBJ_DIR)/src', - 'OBJ_GEN_PATH': '<(OBJ_DIR)/gen', - 'OBJ_TRACING_PATH': '<(OBJ_DIR)/src/tracing', - 'OBJ_SEPARATOR': '/<(node_lib_target_name).', - }, { - 'conditions': [ - ['OS=="win"', { - 'OBJ_PATH': '<(OBJ_DIR)/<(node_lib_target_name)', - 'OBJ_GEN_PATH': '<(OBJ_DIR)/<(node_lib_target_name)', - 'OBJ_TRACING_PATH': '<(OBJ_DIR)/<(node_lib_target_name)', - }], - ['OS=="aix"', { - 'OBJ_PATH': '<(OBJ_DIR)/<(node_lib_target_name)/src', - 'OBJ_GEN_PATH': '<(OBJ_DIR)/<(node_lib_target_name)/gen', - 'OBJ_TRACING_PATH': - '<(OBJ_DIR)/<(node_lib_target_name)/src/tracing', - }], - ]} - ] - ], - }, - 'includes': [ 'node.gypi' ], @@ -941,7 +908,6 @@ 'defines': [ 'NODE_WANT_INTERNALS=1' ], 'sources': [ - 'test/cctest/node_module_reg.cc', 'test/cctest/node_test_fixture.cc', 'test/cctest/test_aliased_buffer.cc', 'test/cctest/test_base64.cc', @@ -951,142 +917,30 @@ 'test/cctest/test_url.cc' ], - 'libraries': [ - '<(OBJ_PATH)<(OBJ_SEPARATOR)async_wrap.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)env.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)node.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)node_buffer.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)node_debug_options.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)node_i18n.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)node_perf.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)node_platform.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)node_url.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)util.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)string_bytes.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)string_search.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)stream_base.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)node_constants.<(OBJ_SUFFIX)', - '<(OBJ_TRACING_PATH)<(OBJ_SEPARATOR)agent.<(OBJ_SUFFIX)', - '<(OBJ_TRACING_PATH)<(OBJ_SEPARATOR)node_trace_buffer.<(OBJ_SUFFIX)', - '<(OBJ_TRACING_PATH)<(OBJ_SEPARATOR)node_trace_writer.<(OBJ_SUFFIX)', - '<(OBJ_TRACING_PATH)<(OBJ_SEPARATOR)trace_event.<(OBJ_SUFFIX)', - '<(OBJ_GEN_PATH)<(OBJ_SEPARATOR)node_javascript.<(OBJ_SUFFIX)', - ], - 'conditions': [ - ['node_target_type!="static_library"', { - 'libraries': [ - '<(OBJ_PATH)<(OBJ_SEPARATOR)async_wrap.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)handle_wrap.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)env.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)node.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)node_buffer.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)node_debug_options.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)node_i18n.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)node_perf.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)node_platform.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)node_url.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)util.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)string_bytes.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)string_search.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)stream_base.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)node_constants.<(OBJ_SUFFIX)', - '<(OBJ_TRACING_PATH)<(OBJ_SEPARATOR)agent.<(OBJ_SUFFIX)', - '<(OBJ_TRACING_PATH)<(OBJ_SEPARATOR)node_trace_buffer.<(OBJ_SUFFIX)', - '<(OBJ_TRACING_PATH)<(OBJ_SEPARATOR)node_trace_writer.<(OBJ_SUFFIX)', - '<(OBJ_TRACING_PATH)<(OBJ_SEPARATOR)trace_event.<(OBJ_SUFFIX)', - '<(OBJ_GEN_PATH)<(OBJ_SEPARATOR)node_javascript.<(OBJ_SUFFIX)', - ], - }], [ 'node_use_openssl=="true"', { - 'conditions': [ - ['node_target_type!="static_library"', { - 'libraries': [ - '<(OBJ_PATH)<(OBJ_SEPARATOR)node_crypto.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)node_crypto_bio.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)node_crypto_clienthello.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)tls_wrap.<(OBJ_SUFFIX)', - ], - }], - ], 'defines': [ 'HAVE_OPENSSL=1', ], }], [ 'node_use_perfctr=="true"', { 'defines': [ 'HAVE_PERFCTR=1' ], - 'libraries': [ - '<(OBJ_PATH)<(OBJ_SEPARATOR)node_counters.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)' - 'node_win32_perfctr_provider.<(OBJ_SUFFIX)', - ], }], ['v8_enable_inspector==1', { 'sources': [ 'test/cctest/test_inspector_socket.cc', 'test/cctest/test_inspector_socket_server.cc' ], - 'conditions': [ - ['node_target_type!="static_library"', { - 'libraries': [ - '<(OBJ_PATH)<(OBJ_SEPARATOR)inspector_agent.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)inspector_io.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)inspector_js_api.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)inspector_socket.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)inspector_socket_server.<(OBJ_SUFFIX)', - ], - }], - ], 'defines': [ 'HAVE_INSPECTOR=1', ], - }], - [ 'node_use_dtrace=="true" and node_target_type!="static_library"', { - 'libraries': [ - '<(OBJ_PATH)<(OBJ_SEPARATOR)node_dtrace.<(OBJ_SUFFIX)', - ], - 'conditions': [ - ['OS!="mac" and OS!="linux"', { - 'libraries': [ - '<(OBJ_PATH)<(OBJ_SEPARATOR)node_dtrace_provider.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)node_dtrace_ustack.<(OBJ_SUFFIX)', - ] - }], - ['OS=="linux"', { - 'libraries': [ - '<(SHARED_INTERMEDIATE_DIR)<(OBJ_SEPARATOR)' - 'node_dtrace_provider.<(OBJ_SUFFIX)', - ] - }], - ], }, { - 'conditions': [ - [ 'node_use_etw=="true" and OS=="win"', { - 'libraries': [ - '<(OBJ_PATH)<(OBJ_SEPARATOR)node_dtrace.<(OBJ_SUFFIX)', - '<(OBJ_PATH)<(OBJ_SEPARATOR)' - 'node_win32_etw_provider.<(OBJ_SUFFIX)', - ], - }] - ] - }], - [ 'OS=="win" and node_target_type!="static_library"', { - 'libraries': [ - '<(OBJ_PATH)<(OBJ_SEPARATOR)backtrace_win32.<(OBJ_SUFFIX)', - ], - }, { - 'conditions': [ - ['node_target_type!="static_library"', { - 'libraries': [ - '<(OBJ_PATH)<(OBJ_SEPARATOR)backtrace_posix.<(OBJ_SUFFIX)', - ], - }], - ], + 'defines': [ 'HAVE_INSPECTOR=0' ] }], ['OS=="solaris"', { 'ldflags': [ '-I<(SHARED_INTERMEDIATE_DIR)' ] }], - ] + ], } ], # end targets diff --git a/node.gypi b/node.gypi index 386601906fbe4a..49384db0a5ddb5 100644 --- a/node.gypi +++ b/node.gypi @@ -99,7 +99,7 @@ [ 'force_load=="true"', { 'xcode_settings': { 'OTHER_LDFLAGS': [ - '-Wl,-force_load,<(V8_BASE)', + '-Wl,-force_load,<(v8_base)', ], }, }], @@ -154,7 +154,7 @@ { 'action_name': 'expfile', 'inputs': [ - '<(OBJ_DIR)' + '<(obj_dir)' ], 'outputs': [ '<(PRODUCT_DIR)/node.exp' @@ -186,13 +186,13 @@ [ '(OS=="freebsd" or OS=="linux") and node_shared=="false"' ' and coverage=="false" and force_load=="true"', { 'ldflags': [ '-Wl,-z,noexecstack', - '-Wl,--whole-archive <(V8_BASE)', + '-Wl,--whole-archive <(v8_base)', '-Wl,--no-whole-archive' ] }], [ '(OS=="freebsd" or OS=="linux") and node_shared=="false"' ' and coverage=="true" and force_load=="true"', { 'ldflags': [ '-Wl,-z,noexecstack', - '-Wl,--whole-archive <(V8_BASE)', + '-Wl,--whole-archive <(v8_base)', '-Wl,--no-whole-archive', '--coverage', '-g', @@ -237,15 +237,15 @@ [ 'force_load=="true"', { 'xcode_settings': { 'OTHER_LDFLAGS': [ - '-Wl,-force_load,<(PRODUCT_DIR)/<(OPENSSL_PRODUCT)', + '-Wl,-force_load,<(PRODUCT_DIR)/<(openssl_product)', ], }, 'conditions': [ ['OS in "linux freebsd" and node_shared=="false"', { 'ldflags': [ '-Wl,--whole-archive,' - '<(OBJ_DIR)/deps/openssl/' - '<(OPENSSL_PRODUCT)', + '<(obj_dir)/deps/openssl/' + '<(openssl_product)', '-Wl,--no-whole-archive', ], }], diff --git a/test/cctest/node_module_reg.cc b/test/cctest/node_module_reg.cc deleted file mode 100644 index a0736d2cc3e692..00000000000000 --- a/test/cctest/node_module_reg.cc +++ /dev/null @@ -1,29 +0,0 @@ -// Need to create empty definition for these modules' -// registration function for cctest. Because when -// building cctest, the definitions for the following -// registration functions are not included. -void _register_cares_wrap() {} -void _register_config() {} -void _register_contextify() {} -void _register_fs() {} -void _register_fs_event_wrap() {} -void _register_http2() {} -void _register_http_parser() {} -void _register_js_stream() {} -void _register_module_wrap() {} -void _register_os() {} -void _register_pipe_wrap() {} -void _register_process_wrap() {} -void _register_serdes() {} -void _register_signal_wrap() {} -void _register_spawn_sync() {} -void _register_stream_wrap() {} -void _register_tcp_wrap() {} -void _register_timer_wrap() {} -void _register_trace_events() {} -void _register_tty_wrap() {} -void _register_udp_wrap() {} -void _register_util() {} -void _register_uv() {} -void _register_v8() {} -void _register_zlib() {} diff --git a/test/cctest/test_node_postmortem_metadata.cc b/test/cctest/test_node_postmortem_metadata.cc index 1153ebf2811f7f..b6e684b705303e 100644 --- a/test/cctest/test_node_postmortem_metadata.cc +++ b/test/cctest/test_node_postmortem_metadata.cc @@ -1,5 +1,3 @@ -#include "node_postmortem_metadata.cc" - #include "gtest/gtest.h" #include "node.h" #include "node_internals.h" @@ -7,6 +5,28 @@ #include "req-wrap-inl.h" #include "tracing/agent.h" #include "v8.h" +#include "v8abbr.h" + +extern "C" { +extern uintptr_t + nodedbg_offset_HandleWrap__handle_wrap_queue___ListNode_HandleWrap; +extern uintptr_t + nodedbg_offset_Environment__handle_wrap_queue___Environment_HandleWrapQueue; +extern int debug_symbols_generated; +extern int nodedbg_const_Environment__kContextEmbedderDataIndex__int; +extern uintptr_t + nodedbg_offset_Environment_HandleWrapQueue__head___ListNode_HandleWrap; +extern uintptr_t + nodedbg_offset_Environment__req_wrap_queue___Environment_ReqWrapQueue; +extern uintptr_t nodedbg_offset_ExternalString__data__uintptr_t; +extern uintptr_t nodedbg_offset_ListNode_ReqWrap__next___uintptr_t; +extern uintptr_t nodedbg_offset_ReqWrap__req_wrap_queue___ListNode_ReqWrapQueue; +extern uintptr_t nodedbg_offset_ListNode_HandleWrap__next___uintptr_t; +extern uintptr_t + nodedbg_offset_Environment_ReqWrapQueue__head___ListNode_ReqWrapQueue; +extern uintptr_t + nodedbg_offset_BaseObject__persistent_handle___v8_Persistent_v8_Object; +} class DebugSymbolsTest : public EnvironmentTestFixture {};