-
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
The LLVM we ship in rust-dev
doesn't match the LLVM we ship in the rustc
component
#110474
Comments
cc @zhaixiaojuan @heiher, do you know what could be going wrong here? |
@jyn514 Thank you for bringing this to my attention. It is possible that the locally builds has enabled |
Yes, that's exactly what's happened, I have download-ci-llvm enabled and the prebuilt LLVM differs. Here's steps to reproduce:
|
The RustDev component builds LLVM here: Line 2239 in 276fa29
but I'm not sure how that differs from the Rustc component? Lines 456 to 461 in 276fa29
|
I think the difference is that the |
Maybe need to bump download-ci-llvm-stamp to pick up the LoongArch enablement? |
@heiher no worries :) it updates every six weeks when we make a new release, or if the submodule is updated, but it's cached until then so it's not constantly re-uploaded on every change to bootstrap. |
Is there any way CI could help prevent such problems? Like, complain if |
@RalfJung we can use heuristics, but they're only heuristics and I wouldn't want to fail CI on them. That said, having rustbot leave a comment if you touch rustc_llvm or src/bootstrap/llvm.rs seems reasonable, so the PR author can make a judgement call but also doesn't forget about the stamp. |
…acrum Suggest bumping download-ci-llvm-stamp if the build config for llvm changes This will hopefully avoid issues like rust-lang#110474 where the uploaded `rust-dev` component doesn't match the one you'd get if you built LLVM from source. cc rust-lang#110474 (comment)
…acrum Suggest bumping download-ci-llvm-stamp if the build config for llvm changes This will hopefully avoid issues like rust-lang#110474 where the uploaded `rust-dev` component doesn't match the one you'd get if you built LLVM from source. cc rust-lang#110474 (comment)
…acrum Suggest bumping download-ci-llvm-stamp if the build config for llvm changes This will hopefully avoid issues like rust-lang#110474 where the uploaded `rust-dev` component doesn't match the one you'd get if you built LLVM from source. cc rust-lang#110474 (comment)
Suggest bumping download-ci-llvm-stamp if the build config for llvm changes This will hopefully avoid issues like rust-lang/rust#110474 where the uploaded `rust-dev` component doesn't match the one you'd get if you built LLVM from source. cc rust-lang/rust#110474 (comment)
I tried this code:
I expected to see this happen: rustc prints the target spec successfully, because it knows it exists:
Instead, this happened: rustc fails to load the LLVM specification:
Note that this is different from the error we emit for an unrecognized target:
Also, this only happens for local builds, because we don't use the LLVM in the
rust-dev
component in rustup, only when building rustc from source.... wtf ???
Meta
HEAD is branched from ce1073b
The text was updated successfully, but these errors were encountered: