-
Notifications
You must be signed in to change notification settings - Fork 30k
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
src: reduce number of exported symbols #12366
Conversation
Use `static` definitions and anonymous namespaces to reduce the number of symbols that are exported from the `node` binary.
Only if they were relying on these symbols on purpose – so far we’ve always been taking the liberty of changing code that’s guarded by |
That's why I dubbed them "rogue"... I've been know to use undocumented entry points on occasion 😞... You know then might disappear but then you're sad... |
Everything I have seen so far indicates that our embedders and addon developers avoid doing that. (Also, I strongly doubt anything in here would be useful for outside users.)
This doesn’t touch our public API, so it’s semver-nothing, and I really don’t think this is worth an explicit mention in the release notes. If you feel really strongly about it, we can only land it in Node 8, I don’t care too much. (edited a bit later) |
I agree it's semver-nothing, and I don't feel too strongly one way or another. Just an example in the description of #8749 is says "Any non-null value of NODE_PRESERVE_SYMLINKS will enable symlinks." even tough the code acts differently and is documented correctly, that caused me a few hours of frustration, with no-one to blame but myself... |
LGTM if citgm is green. I would prefer a semver major because if embedders but honestly I've never heard of anyone doing that before and I won't block this. |
Use `static` definitions and anonymous namespaces to reduce the number of symbols that are exported from the `node` binary. PR-URL: nodejs#12366 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
Landed in 9d52222
@benjamingr Like I’ve said, we’ve been quite liberal with internals so far, so it would be very surprising if this broke some actual code. I’ve added the dont-land labels because it shouldn’t really matter, but I would like to avoid getting in a habit of considering these actual breaking changes. (edit: if this makes it into a release < 8.x it should probably come together with #12432) |
Overlooked in nodejs#12366. Removing this removes a compiler warning.
Overlooked in #12366. Removing this removes a compiler warning. PR-URL: #12432 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
In 9d52222 the indirect "http_parser.h" include was removed, which made `NODE_STRINGIFY()` fail silently for the http parser version in `process.versions`. Ref: nodejs#12366 Fixes: nodejs#12463
In 9d52222 the indirect "http_parser.h" include was removed, which made `NODE_STRINGIFY()` fail silently for the http parser version in `process.versions`. PR-URL: #12464 Fixes: #12463 Ref: #12366 Reviewed-By: Evan Lucas <evanlucas@me.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Alexey Orlenko <eaglexrlnk@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Brian White <mscdex@mscdex.net>
Use
static
definitions and anonymous namespaces to reduce thenumber of symbols that are exported from the
node
binary.Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passesAffected core subsystem(s)
src
CI: https://ci.nodejs.org/job/node-test-commit/9057/
CITGM: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/712/