-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Don't compile dynamic linking code into non-PIC version of libc. NFC #18638
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM although I do not understand this deep __deps
magic.
@@ -240,12 +240,18 @@ var LibraryDylink = { | |||
_emscripten_dlopen_js__deps: [function() { error(dlopenMissingError); }], | |||
_dlsym_js__deps: [function() { error(dlopenMissingError); }], | |||
_dlsym_catchup_js__deps: [function() { error(dlopenMissingError); }], | |||
dlopen__deps: [function() { error(dlopenMissingError); }], | |||
_emscripten_dlopen__deps: [function() { error(dlopenMissingError); }], | |||
__dlsym__deps: [function() { error(dlopenMissingError); }], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What does a function expression in __deps
mean/do?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This magic basically means that users see errors at build time when they use those symbols.
This is needed as of emscripten-core#18638 since dynlink.c is not longer included in the build when MAIN_MODULE is not set. Fixes: emscripten-core#1195
This is needed as of emscripten-core#18638 since dynlink.c is not longer included in the build when MAIN_MODULE is not set. Fixes: emscripten-core#1195
… a gracefully failing version broke, and add a test to verify that end user code overriding dlopen() cannot regress again. Possibly regressed by emscripten-core#18638.
… a gracefully failing version broke, and add a test to verify that end user code overriding dlopen() cannot regress again. Possibly regressed by emscripten-core#18638.
Replaces #18637