diff options
author | Yihong Wang <yh.wang@ibm.com> | 2017-10-21 23:16:50 -0700 |
---|---|---|
committer | Gibson Fahnestock <gibfahn@gmail.com> | 2017-11-13 23:17:34 +0000 |
commit | 8680bb9f1a0163cfbdc4443c1eb2b56c5e443616 (patch) | |
tree | 16d97c77379adba2d45dc17787f314b9e3cb1b1b /test/cctest | |
parent | 21a7459d490d832d5d547833d527083e460999e1 (diff) | |
download | android-node-v8-8680bb9f1a0163cfbdc4443c1eb2b56c5e443616.tar.gz android-node-v8-8680bb9f1a0163cfbdc4443c1eb2b56c5e443616.tar.bz2 android-node-v8-8680bb9f1a0163cfbdc4443c1eb2b56c5e443616.zip |
src: explicitly register built-in modules
Previously, built-in modules are registered before main() via
__attribute__((constructor)) mechanism in GCC and similiar
mechanism in MSVC. This causes some issues when node is built as
static library. Calling module registration function for built-in
modules in node::Init() helps to avoid the issues.
Signed-off-by: Yihong Wang <yh.wang@ibm.com>
PR-URL: https://github.com/nodejs/node/pull/16565
Refs: https://github.com/nodejs/node/pull/14986#issuecomment-332758206
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Diffstat (limited to 'test/cctest')
-rw-r--r-- | test/cctest/node_module_reg.cc | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/cctest/node_module_reg.cc b/test/cctest/node_module_reg.cc new file mode 100644 index 0000000000..f8d9d03c1c --- /dev/null +++ b/test/cctest/node_module_reg.cc @@ -0,0 +1,28 @@ +// 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_tty_wrap() {} +void _register_udp_wrap() {} +void _register_util() {} +void _register_uv() {} +void _register_v8() {} +void _register_zlib() {} |