-
Notifications
You must be signed in to change notification settings - Fork 13k
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
proc-macro-srv: drop unnecessary usage of RTLD_DEEPBIND #135586
proc-macro-srv: drop unnecessary usage of RTLD_DEEPBIND #135586
Conversation
the constant is wrong on some platforms (e.g., on mips64el it's 0x10, and 0x8 is RTLD_NOLOAD which makes all this functionality broken), and it is no longer needed because rust-lang#60593 got fixed by rust-lang#99944 in the meantime. Signed-off-by: Fabian Grünbichler <[email protected]>
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @Mark-Simulacrum (or someone else) some time within the next two weeks. Please see the contribution instructions for more information. Namely, in order to ensure the minimum review times lag, PR authors and assigned reviewers should ensure that the review label (
|
rust-analyzer is developed in its own repository. If possible, consider making this change to rust-lang/rust-analyzer instead. cc @rust-lang/rust-analyzer |
further references: failing mips64el build in Debian caused by this: https://buildd.debian.org/status/fetch.php?pkg=rustc&arch=mips64el&ver=1.84.0%2Bdfsg1-1~exp1&stamp=1736831677&raw=1 alternatively, it would also be possible to have a hardcoded list of arch-specific constants instead.. |
#99944 is not really a fix. It is still possible for a proc-macro to dynamically link against libstd.so, which would expose the issue again as the proc-macro would import functions from librustc_driver.so's copy of libstd without RTLD_DEEPBIND rather than the libstd.so that the proc-macro should actually link against.
|
ack, then I'll open another MR that properly conditionalizes RTLD_DEEPBIND based on the target.. |
If you do, you may be able to use the |
glibc and uclibc seem to agree ( |
The libc crate will not define |
closed in favor of #135591 , hope that's about what you requested ;) |
the constant is wrong on some platforms (e.g., on mips64el it's 0x10, and 0x8 is RTLD_NOLOAD which makes all this functionality broken), and it is no longer needed because #60593 got fixed by #99944 in the meantime.