summaryrefslogtreecommitdiff
path: root/test/cctest
diff options
context:
space:
mode:
authorYihong Wang <yh.wang@ibm.com>2017-10-21 23:16:50 -0700
committerGibson Fahnestock <gibfahn@gmail.com>2017-11-13 23:17:34 +0000
commit8680bb9f1a0163cfbdc4443c1eb2b56c5e443616 (patch)
tree16d97c77379adba2d45dc17787f314b9e3cb1b1b /test/cctest
parent21a7459d490d832d5d547833d527083e460999e1 (diff)
downloadandroid-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.cc28
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() {}