-
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
unify llvm-bitcode-linker
, wasm-component-ld
and llvm-tools logics
#130040
Conversation
rustbot has assigned @Mark-Simulacrum. Use |
Hmm. This seems a bit brittle. Why are we copying LLVM tools and the LLVM bitcode linker, but not |
|
I suppose that someone might want a custom/locally built LLD or WASM component build with CI rustc? 😆 And for working on custom codegen backends, it would also be useful to apply a custom backend to the downloaded sysroot, to avoid having to build the compiler. Just to make sure that I understand the issue, I'll try to describe it: We build the rustc toolchain in CI with some options. Then, if you want to use the CI toolchain locally, your This sort of seems to work for Currently, this decision was kind of arbitrary (we just copied the primary LLVM libs to the downloaded sysroots, because they are always needed, and just assumed that LLD will be there as a bonus). And this PR just changes that arbitrary logic to include a few more things. I'm fine with doing this to unblock #122709, but it seems like just another hack, and we should think of some more general solution. I would propose something like the following to fix the situation more generally:
What do you think? EDIT: I realized that 2) is a bit more complex, because currently we just reject options incompatible with LLVM CI, rather than detecting local changes. But 1) seems like an improvement to the |
4ace433
to
b6fdb74
Compare
llvm-bitcode-linker
and llvm tools properlyllvm-bitcode-linker
, wasm-component-ld
and llvm-tools logics
Yeah, we don't check
Agreed. Even the first one alone needs a lot of refactoring. For now, I've unified the three parts: llvm tools, llvm-bitcode-linker and wasm-component-ld. Once this PR is shipped, we can check the next day (with the new ci-rustc) to see if it’s enough (at least for now) for #122709. |
3e6050c
to
fbc53b7
Compare
fbc53b7
to
b6fdb74
Compare
Let's see what CI says. @bors r+ |
☔ The latest upstream changes (presumably #130133) made this pull request unmergeable. Please resolve the merge conflicts. |
b6fdb74
to
0e59075
Compare
Rebased. @bors r=Kobzol |
…c, r=Kobzol unify `llvm-bitcode-linker`, `wasm-component-ld` and llvm-tools logics To use the precompiled `ci-rustc` in CI, we need to install `llvm-bitcode-linker` and LLVM tools into ci-rustc's sysroot. Without them some CI pipelines may fail, as shown [here](rust-lang#122709 (comment)). Blocker for rust-lang#122709
This comment has been minimized.
This comment has been minimized.
Signed-off-by: onur-ozkan <work@onurozkan.dev>
3515075
to
4967093
Compare
@bors try |
… r=<try> unify `llvm-bitcode-linker`, `wasm-component-ld` and llvm-tools logics To use the precompiled `ci-rustc` in CI, we need to install `llvm-bitcode-linker` and LLVM tools into ci-rustc's sysroot. Without them some CI pipelines may fail, as shown [here](rust-lang#122709 (comment)). Blocker for rust-lang#122709 try-job: dist-arm-linux
☀️ Try build successful - checks-actions |
Fixed the problem of using incorrect build compiler in dist step. @rustbot ready |
@bors r+ |
☀️ Test successful - checks-actions |
Finished benchmarking commit (adaff53): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)Results (secondary 0.2%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 755.803s -> 756.349s (0.07%) |
Revert rust-lang#130040 - unify llvm-bitcode-linker, wasm-component-ld and llvm-tools logics This is a revert of rust-lang#130040 to fix rust-lang#130291 which is preventing installing nightly with the llvm-tools component due to a conflict with the `bin/llc` file which exists in both the rustc and llvm-tools components.
…bzol add llvm-bitcode-linker and llvm-tools bins to ci-rustc's sysroot rust-lang#130040 is [reverted](rust-lang#130292) because adding component binaries directly to the dist tarball of the compiler caused conflicts (see rust-lang#130291 and rust-lang/rustup#4019). This PR solves the original problem without touching the dist tarball. r? Kobzol
Rollup merge of rust-lang#130302 - onur-ozkan:130040-with-fixes, r=Kobzol add llvm-bitcode-linker and llvm-tools bins to ci-rustc's sysroot rust-lang#130040 is [reverted](rust-lang#130292) because adding component binaries directly to the dist tarball of the compiler caused conflicts (see rust-lang#130291 and rust-lang/rustup#4019). This PR solves the original problem without touching the dist tarball. r? Kobzol
To use the precompiled
ci-rustc
in CI, we need to installllvm-bitcode-linker
and LLVM tools into ci-rustc's sysroot. Without them some CI pipelines may fail, as shown here.Blocker for #122709