-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Tracking issue for "sysv64" calling convention #36167
Comments
Can someone from lang team add relevant labels to this issue? cc @nikomatsakis since I think GitHub won't let me mention @rust-lang/lang directly. |
I am curious what is the status of this issue: is there any likelihood this will be stable in the near future? Also, more broadly, what is the process these things go through and how can I monitor their progress? If I see a tracking issue like this with no comments in several months, is that an indication that it has stalled, or will the process still move forward? |
As far as I know, to actually get this feature into stable rust an RFC needs to be written on its inclusion in rust. I have personally not had a reason to do so since I was forced to use nightly, but as this feature has existed for quite a while now for experimentation with no issues, writing an RFC on it might be a good idea. (I think that nowadays the idea is that RFCs should always be written before a feature is added in-tree, but this was added before that was mandated) |
I don't think an RFC is required for this one. The lang team just needs to sign off on it. |
@CensoredUsername I'd be in favor of stabilizing, and happy to move to FCP, but I'd like the following data and I don't have time to gather it just now. Do you think you'd be able to do so? What would be useful is:
This doesn't have to be long. Obviously this isn't a super complex feature. But it'd be great to have that documented and in one place, and it will help the lang team members gather up the required context. |
This feature allows the System V AMD64 ABI to be explicitly specified as the calling convention for extern functions, using the Description:The System V AMD64 ABI is the default ABI for the AMD64 (also known as x64 or x86_64) processor architecture, it is used as the C ABI on all platforms except for Windows, which uses its own ABI that can be specified using There are several use cases that require being able to explicitly specify the used ABI independent of the used platform:
Tests:To ensure that this feature works properly, tests have been added to confirm that the right ABI is passed to LLVM. Additionally on platforms where the Known uses:avr-vm uses it to interface with run-time generated code in its AVR JIT: https://github.com/MackieLoeffel/avr-vm |
@rfcbot fcp merge I propose to stabilize the I'm adding T-compiler on the FCP because I want to get the feedback of any T-compiler folk as to potential problems I am overlooking or other surprises. Addendum: Currently stable ABIs include:
|
Team member @nikomatsakis has proposed to merge this. The next step is review by the rest of the tagged teams:
No concerns currently listed. Once these reviewers reach consensus, this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up! See this document for info about what commands tagged team members can give me. |
@rfcbot reviewed |
1 similar comment
@rfcbot reviewed |
🔔 This is now entering its final comment period, as per the review above. 🔔 |
1 similar comment
🔔 This is now entering its final comment period, as per the review above. 🔔 |
The final comment period is now complete. |
Stabilize abi_sysv64 Closes #36167, stabilizing the use of the "sysv64" ABI on x64 platforms where it is not the default ABI. FCP on this is complete in the tracking issue.
extern "sysv64" fn foo()
This solves #34388
An implementation is available in #34494
The text was updated successfully, but these errors were encountered: