Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

src: add default visibility to NODE_MODULE

It's currently not really possible to compile native add-ons with
-fvisibility=hidden because that also hides the struct containing
the module definition.

The NODE_MODULE() and NODE_MODULE_DECL() macros are structured in
a way that makes it impossible to add a visibility attribute manually
so there is no escape hatch there.

That's why this commit adds an explicit visibility attribute to
the module definition.  It doesn't help with node.js releases that
are already out there but at least it improves the situation going
forward.
  • Loading branch information...
commit bd8a5755dceda415eee147bc06574f5a30abb0d0 1 parent 6eb4d1d
@bnoordhuis bnoordhuis authored indutny committed
Showing with 1 addition and 1 deletion.
  1. +1 −1  src/node.h
View
2  src/node.h
@@ -217,7 +217,7 @@ node_module_struct* get_builtin_module(const char *name);
#ifdef _WIN32
# define NODE_MODULE_EXPORT __declspec(dllexport)
#else
-# define NODE_MODULE_EXPORT /* empty */
+# define NODE_MODULE_EXPORT __attribute__((visibility("default")))
#endif
#define NODE_MODULE(modname, regfunc) \

1 comment on commit bd8a575

@springmeyer

Thank you!

Please sign in to comment.
Something went wrong with that request. Please try again.