-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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
Add support for raw-dylib with stdcall, fastcall functions #86419
Conversation
(rust-highfive has picked a reviewer for you, use r? to override) |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
@rustbot label -S-waiting-on-author +S-waiting-on-review |
@ricobbe |
Will do, sure. For my own understanding, what is preferred practice on this? Squash at the end before completing the PR, or squash as I go? |
Both ways work for me. |
35c7a3f
to
acd703e
Compare
@rustbot label -S-waiting-on-author +S-waiting-on-review |
9c9694f
to
a867dd4
Compare
@rustbot label -S-waiting-on-author +S-waiting-on-review |
@bors r+ |
📌 Commit a867dd4 has been approved by |
☀️ Test successful - checks-actions |
This appears to have added a failing test:
|
How is that even possible...? |
Looks like we have different output on different targets? |
Is it possible that something depends on hash table ordering here (like the code that determines which of the "multiple definitions" the span is pointing at)? |
I'm finding it a bit hard to follow the flurry of communications about this PR that happened over the weekend. What's the current status of this work--is the multiple-definitions test still failing in automation?
An earlier version of this PR did indeed have this problem. I checked in a fix before the PR was merged, but it's possible that there's still some nondeterminism left. EDIT: I think there is some nondeterminism left; sorry about that. Although I'm sorting the definitions before checking for multiples, I overlooked the fact that the comparison function I'm using doesn't guarantee a specific order in exactly the case that triggers the error. This should be a relatively simple fix. |
Next stage of work for #58713: allow
extern "stdcall"
andextern "fastcall"
with#[link(kind = "raw-dylib")]
.I've deliberately omitted support for vectorcall, as that doesn't currently work, and I wanted to get this out for review. (I haven't really investigated the vectorcall failure much yet, but at first (very cursory) glance it appears that the problem is elsewhere.)