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

Use RTLD_DEEPBIND for loading dylibs/proc-macros #77545

Closed
wants to merge 1 commit into from
Closed

Use RTLD_DEEPBIND for loading dylibs/proc-macros #77545

wants to merge 1 commit into from

Conversation

jonas-schievink
Copy link
Contributor

This should fix #76980, by loading symbols from proc macro dylibs from the dylib itself, before falling back to symbols provided by the compiler or its dependencies.

@rust-highfive
Copy link
Collaborator

r? @ecstatic-morse

(rust_highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Oct 4, 2020
@Mark-Simulacrum Mark-Simulacrum added beta-accepted Accepted for backporting to the compiler in the beta channel. beta-nominated Nominated for backporting to the compiler in the beta channel. labels Oct 4, 2020
@Mark-Simulacrum
Copy link
Member

It would be good to make sure DEEPBIND is supported on other platforms as well (e.g., macOS/Windows).

Is there a chance we could engineer a test that intentionally clashes symbols with rustc? (I am fine with adding a "well known" export to rustc that we could clash with fwiw).

@cuviper
Copy link
Member

cuviper commented Oct 4, 2020

I believe RTLD_DEEPBIND is a GNU extension -- libc only defines it under linux/gnu and uclibc/mips.

@Mark-Simulacrum
Copy link
Member

@bors try

@bors
Copy link
Contributor

bors commented Oct 4, 2020

⌛ Trying commit 03b326d with merge 6fa7016b655ed9c063536a8c01874ecdc82b345d...

@bors
Copy link
Contributor

bors commented Oct 4, 2020

☀️ Try build successful - checks-actions, checks-azure
Build commit: 6fa7016b655ed9c063536a8c01874ecdc82b345d (6fa7016b655ed9c063536a8c01874ecdc82b345d)

@ecstatic-morse
Copy link
Contributor

r? @Mark-Simulacrum

I don't have any domain-specific knowledge here.

@Mark-Simulacrum
Copy link
Member

Local testing seems to indicate this doesn't fix the bug.

@jonas-schievink
Copy link
Contributor Author

Yeah, I was using local system LLVM, which masked the bug

@Mark-Simulacrum Mark-Simulacrum removed beta-nominated Nominated for backporting to the compiler in the beta channel. beta-accepted Accepted for backporting to the compiler in the beta channel. labels Oct 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-review Status: Awaiting review from the assignee but also interested parties.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Build hang on Linux
6 participants