Conversation
This upgrade unfortunately removes MIPS support, as it has been dropped to Tier 3[1] and so bootstrap tarballs are no longer provided. It looks like it was dropped due to multiple codegen bugs, and lack of maintenance, so bringing it back would probably involve engaging with Rust/LLVM upstream on those. [1]: rust-lang/compiler-team#648
|
Oh, one thing — usually we stick to the same LLVM as Rust upstream, but we don't have LLVM 17 yet (see #258614). IIRC we've been an LLVM behind for Rust before and it hasn't caused any problems. |
Yes, in the general case we have tried to support using "today's LLVM and yesterday's LLVM" with rustc, with a "maybe" on yesteryear's LLVM. This has been really inconvenient sometimes with certain major LLVM changes like the opaque pointers or pass manager updates, making the results more "fun" for everyone, both compiler engineers and distro maintainers, but it seems nothing earthshattering is in LLVM 17, by comparison. This is also part of why it's undesirable to have a mostly-unmaintained target being advertised as tier 2: even if all the codegen problems got patches in flight right now, they might not see a release until LLVM 18, depending on LLVM's patch cycle. So we'd only be confident we wouldn't get reports for them after we updated to LLVM 19 and then dropped LLVM 17. |
figsoda
left a comment
There was a problem hiding this comment.
tried testing on darwin, but the build box kept running out of disk space, lgtm on linux
works for me on my aarch64-darwin host |
😭 |
|
Heads up, this bump breaks cross compilation of If you use crate2nix to cross compile you might need to stick to 1.72.1 until we figure out what went wrong here. |
|
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: |
Description of changes
This upgrade unfortunately removes MIPS support, as it has been dropped to Tier 3 and so bootstrap tarballs are no longer provided.
It looks like it was dropped due to multiple codegen bugs, and lack of maintenance, so bringing it back would probably involve engaging with Rust/LLVM upstream on those.
Things done
sandbox = trueset innix.conf? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)