-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
BPF: Disable atomic CAS #106796
BPF: Disable atomic CAS #106796
Conversation
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @cjgillot (or someone else) soon. Please see the contribution instructions for more information. |
These commits modify compiler targets. |
c632abf
to
be5516b
Compare
There are at least two separate issues here I think:
The bpfel-* targets are completely broken for non trivial programs (pretty much all aya programs and CI are broken with recent nightly), so I'd like to get this merged asap. |
r? @nagisa |
We should probably fix the first issue regardless, for people who might be creating a custom target json. |
Yes, I think we should just revert |
I already prepared a patch for the first issue, I will submit it soon. |
be5516b
to
11c77c5
Compare
Enabling CAS for BPF targets (rust-lang#105708) breaks the build of core library. The failure occurs both when building rustc for BPF targets and when building crates for BPF targets with the current nightly. The LLVM BPF backend does not correctly lower all `atomicrmw` operations and crashes for unsupported ones. Before we can enable CAS for BPF in Rust, we need to fix the LLVM BPF backend first. Fixes rust-lang#106795 Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
11c77c5
to
651e873
Compare
@alessandrod According to your suggestion, I'm changing here only Please note that we need also #106856 to fully fix BPF. Since we keep |
This until rust-lang/rust#106796 gets fixed
This until rust-lang/rust#106796 gets fixed
@nagisa ping |
/cc @bjorn3 |
This change makes sense to me. It was already disabled up until very recently and is clearly broken. @bors r+ |
We need to wait for the following fixes in Rust nightly to be able to use the newest one: * rust-lang/rust#106796 * rust-lang/rust#106856 Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
We need to wait for the following fixes in Rust nightly to be able to use the newest one: * rust-lang/rust#106796 * rust-lang/rust#106856 Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
We need to wait for the following fixes in Rust nightly to be able to use the newest one: * rust-lang/rust#106796 * rust-lang/rust#106856 Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
We need to wait for the following fixes in Rust nightly to be able to use the newest one: * rust-lang/rust#106796 * rust-lang/rust#106856 Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
This comment was marked as resolved.
This comment was marked as resolved.
#106856 should be enough to fix that error, right? |
Oh, sorry, I misunderstood that this was a PR to fix #106845. |
I believe that PR was split out of this one. I did notice that this PR still has "Fixes #106795" in the description, so the issue will need to be re-opened once this PR lands. |
Rollup of 7 pull requests Successful merges: - rust-lang#106796 (BPF: Disable atomic CAS) - rust-lang#106886 (Make stage2 rustdoc and proc-macro-srv disableable in x.py install) - rust-lang#107101 (Filter param-env predicates for errors before calling `to_opt_poly_trait_pred`) - rust-lang#107109 (ThinBox: Add intra-doc-links for Metadata) - rust-lang#107148 (remove error code from `E0789`, add UI test/docs) - rust-lang#107151 (Instantiate dominators algorithm only once) - rust-lang#107153 (Consistently use dominates instead of is_dominated_by) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Enabling CAS for BPF targets (#105708) breaks the build of core library.
The failure occurs both when building rustc for BPF targets and when
building crates for BPF targets with the current nightly.
The LLVM BPF backend does not correctly lower all
atomicrmw
operationsand crashes for unsupported ones.
Before we can enable CAS for BPF in Rust, we need to fix the LLVM BPF
backend first.
Fixes #106795
Signed-off-by: Michal Rostecki vadorovsky@gmail.com