-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Remove wasm legacy abi #133952
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 wasm legacy abi #133952
Conversation
These commits modify compiler targets. Some changes occurred in compiler/rustc_codegen_gcc |
88f79ac
to
26c9b6e
Compare
There are merge commits (commits with multiple parents) in your changes. We have a no merge policy so these commits will need to be removed for this pull request to be merged. You can start a rebase with the following commands:
The following commits are merge commits: |
26c9b6e
to
16e660d
Compare
#129630 needs to be reverted or adjusted as well. |
Removed the section in question. |
compiler/rustc_ty_utils/src/abi.rs
Outdated
|
||
match spec_abi { | ||
ExternAbi::Unadjusted => {} | ||
ExternAbi::PtxKernel => {} |
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.
Is the PtxKernel
exception not needed any more?
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.
To avoid conflicts I based this PR on #133932 which is the PR for making extern "ptx-kernel"
have the right abi.
6970f8d
to
e4c01de
Compare
☔ The latest upstream changes (presumably #136572) made this pull request unmergeable. Please resolve the merge conflicts. |
e4c01de
to
e91711c
Compare
☔ The latest upstream changes (presumably #136684) made this pull request unmergeable. Please resolve the merge conflicts. |
e91711c
to
106301d
Compare
…lexcrichton Remove wasm legacy abi Closes rust-lang#122532 Closes rust-lang#138762 Fixes rust-lang#71871 rust-lang#88152 Fixes rust-lang#115666 Fixes rust-lang#129486
Rollup of 10 pull requests Successful merges: - #133952 (Remove wasm legacy abi) - #134661 (Reduce precedence of expressions that have an outer attr) - #141769 (Move metadata object generation for dylibs to the linker code ) - #141864 (Handle win32 separator for cygwin paths) - #142347 (Async drop - fix for StorageLive/StorageDead codegen for pinned future) - #142377 (Try unremapping compiler sources) - #142389 (Apply ABI attributes on return types in `rustc_codegen_cranelift`) - #142470 (Add some missing mailmap entries) - #142481 (Add `f16` inline asm support for LoongArch) - #142509 (bump std libc dependency) r? `@ghost` `@rustbot` modify labels: rollup
…lexcrichton Remove wasm legacy abi Closes rust-lang#122532 Closes rust-lang#138762 Fixes rust-lang#71871 rust-lang#88152 Fixes rust-lang#115666 Fixes rust-lang#129486
Rollup of 9 pull requests Successful merges: - #133952 (Remove wasm legacy abi) - #141769 (Move metadata object generation for dylibs to the linker code ) - #141864 (Handle win32 separator for cygwin paths) - #142347 (Async drop - fix for StorageLive/StorageDead codegen for pinned future) - #142377 (Try unremapping compiler sources) - #142389 (Apply ABI attributes on return types in `rustc_codegen_cranelift`) - #142470 (Add some missing mailmap entries) - #142481 (Add `f16` inline asm support for LoongArch) - #142509 (bump std libc dependency) r? `@ghost` `@rustbot` modify labels: rollup
…lexcrichton Remove wasm legacy abi Closes rust-lang#122532 Closes rust-lang#138762 Fixes rust-lang#71871 rust-lang#88152 Fixes rust-lang#115666 Fixes rust-lang#129486
Rollup of 8 pull requests Successful merges: - #133952 (Remove wasm legacy abi) - #141769 (Move metadata object generation for dylibs to the linker code ) - #141864 (Handle win32 separator for cygwin paths) - #142347 (Async drop - fix for StorageLive/StorageDead codegen for pinned future) - #142389 (Apply ABI attributes on return types in `rustc_codegen_cranelift`) - #142470 (Add some missing mailmap entries) - #142481 (Add `f16` inline asm support for LoongArch) - #142509 (bump std libc dependency) r? `@ghost` `@rustbot` modify labels: rollup
…lexcrichton Remove wasm legacy abi Closes rust-lang#122532 Closes rust-lang#138762 Fixes rust-lang#71871 rust-lang#88152 Fixes rust-lang#115666 Fixes rust-lang#129486
Rollup of 9 pull requests Successful merges: - #133952 (Remove wasm legacy abi) - #134661 (Reduce precedence of expressions that have an outer attr) - #141769 (Move metadata object generation for dylibs to the linker code ) - #141864 (Handle win32 separator for cygwin paths) - #141937 (Report never type lints in dependencies) - #142347 (Async drop - fix for StorageLive/StorageDead codegen for pinned future) - #142389 (Apply ABI attributes on return types in `rustc_codegen_cranelift`) - #142470 (Add some missing mailmap entries) - #142481 (Add `f16` inline asm support for LoongArch) r? `@ghost` `@rustbot` modify labels: rollup
Rollup of 10 pull requests Successful merges: - #133952 (Remove wasm legacy abi) - #134661 (Reduce precedence of expressions that have an outer attr) - #141769 (Move metadata object generation for dylibs to the linker code ) - #141937 (Report never type lints in dependencies) - #142347 (Async drop - fix for StorageLive/StorageDead codegen for pinned future) - #142389 (Apply ABI attributes on return types in `rustc_codegen_cranelift`) - #142470 (Add some missing mailmap entries) - #142481 (Add `f16` inline asm support for LoongArch) - #142499 (Remove check run bootstrap) - #142543 (Suggest adding semicolon in user code rather than macro impl details) r? `@ghost` `@rustbot` modify labels: rollup
// FIXME: remove this once the wasm32-unknown-unknown ABI is fixed | ||
// please also add `wasm32-unknown-unknown` back in `tests/assembly/wasm32-naked-fn.rs` | ||
// basically the commit introducing this comment should be reverted |
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.
The comment asks to add the target back in a test file -- which the PR does not seem to do? The test file seems to have been renamed to tests/assembly/naked-functions/wasm32.rs
.
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.
Opened #142565
…st, r=RalfJung Test naked asm for wasm32-unknown-unknown cc rust-lang#133952 (comment)
Rollup merge of #142565 - bjorn3:wasm32_unknown_naked_asm_test, r=RalfJung Test naked asm for wasm32-unknown-unknown cc #133952 (comment)
No, this is not the plan we agreed upon. This changes the default at the same time it removes the flag. This is not something that can be easily switched over to for code that needs to test/run on multiple Rust versions. There was an explicit plan in #122532 (comment), and it seemed to be what everyone coalesced around:
Admittedly, this is slightly different from what is in the blog post, which makes no claims about when the default will switch over. I should have noticed that oversight, my bad. The current change puts us in a situation where we cannot write code that targets multiple versions at once. This is a crucial stage in managing transitions: you start with code that only works with the old thing, and then you move to code that works with both the old and new thing, and you finally end up with code that only works with the new thing. Personally speaking I don't need the legacy ABI to be maintained as a flag: it is sufficient for the We might have workarounds for this, but it's somewhat frustrating that this is still being handled in a hard-to-transition way after tedious discussions about trying not to do that. |
I didn't remember that comment when I responsed to Alex's question about the status of this PR: #133952 (comment) My bad.
I can make a PR to add back a no-op |
@bjorn3 Yep, it works for me! Still needs some work on my side but it smooths things out and at this point I don't want to drag this out further :) |
That's my bad as well, apologies for forgetting that!
Sorry for the frustration, but don't forget that this issue has spanned many contributors, years, and possible shapes of solutions. It's tough to keep track of things sometimes. Nevertheless thanks @bjorn3 for quickly making #142635! |
@alexcrichton Yes, I am aware, but it's a bit of a "fool me once" situation: this is not the first time this type of breakage has happened, and seeing it happen twice on the same issue after stakeholders have been pulled in is super disheartening. I don't blame individuals for this, but I do think the compiler team might need to improve its processes here. Designing and following principled transition plans has been a failing of the Rust project for ages: the first edition ended up being a lot more work because we found out in the last minute that nobody had actually designed transition plans. It's a repeated problem. Of course things are tough to keep track of; but we have special carve outs in the process to keep track of things we consider a priority. Transition plans probably should be a priority since they directly affect Rust users and affect Rust's reputation1. Footnotes
|
Closes #122532
Closes #138762
Fixes #71871
Fixes #88152
Fixes #115666
Fixes #129486