Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build,cares,openssl,zlib: limit symbol exports #27664

Open
bnoordhuis opened this issue May 13, 2019 · 3 comments
Open

build,cares,openssl,zlib: limit symbol exports #27664

bnoordhuis opened this issue May 13, 2019 · 3 comments
Labels
build Issues and PRs related to build files or the CI. openssl Issues and PRs related to the OpenSSL dependency.

Comments

@bnoordhuis
Copy link
Member

Refs: #4932 #6274

On Windows, Node exports a curated list of symbols from its dependencies that don't use dllimport/dllexport (c-ares, openssl, zlib)

On Unices, Node indiscriminately re-exports everything thanks to -Wl,--whole-archive.

There's a comment about it in node.gyp:

# TODO(bnoordhuis) Make all platforms export the same list of symbols.
# Teach mkssldef.py to generate linker maps that UNIX linkers understand.

It would be good to implement that. It should help trim down the binary size.

@bnoordhuis bnoordhuis added build Issues and PRs related to build files or the CI. openssl Issues and PRs related to the OpenSSL dependency. labels May 13, 2019
@bnoordhuis bnoordhuis changed the title build,openssl: limit symbol exports build,cares,openssl,zlib: limit symbol exports May 13, 2019
@sam-github
Copy link
Contributor

/cc @nicolasnoble

@bnoordhuis
Copy link
Member Author

nodejs/node-gyp#1755 points out that symbols from deps/histogram are also exported (and conflict with symbols from an add-on.)

@jasnell
Copy link
Member

jasnell commented Jun 26, 2020

@bnoordhuis ... what's left here to do?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. openssl Issues and PRs related to the OpenSSL dependency.
Projects
None yet
Development

No branches or pull requests

3 participants