-
-
Notifications
You must be signed in to change notification settings - Fork 219
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
Remove use of -undefined dynamic_lookup on darwin #189
Remove use of -undefined dynamic_lookup on darwin #189
Conversation
I considered removing the flag in #177 but decided against it. If you think there is more clarity around this issue compared to then, then we can merge this change now. |
What made you decide to keep it then? I think given that it has been removed from the default toolchain, it isn't as necessary to keep here. Also in general while I understand there are use cases for it, I think it's a poor default as it pushes things to runtime crashes instead of link time failures, so for folks who need it I think them having to add it explicitly is a bit nicer overall. |
I kept it because of the ongoing discussion on the GitHub issue I documented next to the code. I did not understand it completely but it looked like there were problems on both sides. I trust your judgement better though, so let's merge it now. |
Ah and also, I was unable to fix the test failures. Will you be able to look into a few of them? If you can share the general pattern of fixing them, I can fix the rest. |
I think the failures likely indicate that there are some missing dependencies in rules deps, that probably have to be fixed upstream (which likely also means they'll be broken with a version of bazel removing this is released). I will have to dig in more to know for sure, I will try to do it soon |
@keith Any suggestions on what we should do here? |
FYI the Github Action log expired. This should help future contributors to review and find a solution for this. |
When I was playing around with this, I added
Because of this, the linker would only work with dynamic_lookup. |
wait... |
it's likely that we shouldn't be dynamically linking that |
This flag ignores undefined symbols at link time and forces them to be looked up dynamically. This is incompatible with the newer fixup chains macho format and theoretically shouldn't be necessary assuming your dependencies are well defined. Done in bazel's toolchain here bazelbuild/bazel#16414
b33688b
to
4290ac1
Compare
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.
Thank you so much for working on this!
I think it's actually green for real now! let me add a comment to the dynamic linker feature tho |
the debian failures look unrelated, i think it's good to be squashed and merged now if you're good with it! |
Please ignore the Debian test and merge as and when you want. |
This was mentioned in #189 but did not quite surface properly. Will also change the release notes for some recent releases.
This flag ignores undefined symbols at link time and forces them to be
looked up dynamically. This is incompatible with the newer fixup chains
macho format and theoretically shouldn't be necessary assuming your
dependencies are well defined.
Done in bazel's toolchain here bazelbuild/bazel#16414