-
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
ci: docker: dist-various-1: Include RISC-V C compilers #117654
Conversation
r? @Kobzol (rustbot has picked a reviewer for you, use r? to override) |
The actual CI changes look fine to me, but I don't really know anything about RISC-V and Rust's setup of it, so also CCing @Mark-Simulacrum. |
Shouldn't implementation for these be added to compiler-builtins instead? |
From what I can tell it is a chicken and egg problem. I can't add these to compiler-builtins as there is no toolchain available. So step 1 is to slowly add RISC-V toolchains, so then I can support this in compiler-builtins |
By adding to compiler-builtins I meant implementing them inside compiler-builtins using rust code, not pulling them C implementation from compiler-rt in. But seeing the symbol list in rust-lang/compiler-builtins#350 (comment) I guess that's not feasible. I initially thought this is only about trivial things like |
Ah. Yeah, I there are still a lot missing, which is why the other targets all pull in the LLVM compiler-rt builtins |
Any more comments? |
I'm sorry, I should have rerolled sooner, I'd like to hear Mark's opinion (as I said, I'm not familiar with this). |
src/ci/docker/host-x86_64/dist-various-1/install-riscv32-none-elf.sh
Outdated
Show resolved
Hide resolved
The compiler-builtins for RISC-V are missing some key functions, such as __bswapsi2 [1]. We can't just pull in the LLVM compiler-rt builtins as the rust-lang/rust distribution container doesn't have a C compiler [2]. This patch adds RISC-V C compilers to the CI Dockerfile as the first step towards enabling LLVM compiler-rt builtins for RISC-V Rust. 1: rust-lang/compiler-builtins#350 2: rust-lang/compiler-builtins@e4f46b9 Signed-off-by: Alistair Francis <[email protected]>
f64f64d
to
d66a964
Compare
@bors r+ rollup=iffy |
☀️ Test successful - checks-actions |
Finished benchmarking commit (b37d43e): comparison URL. Overall result: ❌ regressions - no action needed@rustbot label: -perf-regression Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
Max RSS (memory usage)ResultsThis 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 sizeResultsThis 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.
Bootstrap: 672.871s -> 671.959s (-0.14%) |
Now that rust-lang/rust#117654 has been merged the rust-lang/rust distribution containers contain RISC-V C compilers. This means that we can now enable the "c" feature fallback. Resolves: rust-lang#350 Signed-off-by: Alistair Francis <[email protected]>
Now that rust-lang/rust#117654 has been merged the rust-lang/rust distribution containers contain RISC-V C compilers. This means that we can now enable the "c" feature fallback. Resolves: rust-lang#350 Signed-off-by: Alistair Francis <[email protected]>
The compiler-builtins for RISC-V are missing some key functions, such as __bswapsi2 [1].
We can't just pull in the LLVM compiler-rt builtins as the rust-lang/rust distribution container doesn't have a C compiler [2].
This patch adds RISC-V C compilers to the CI Dockerfile as the first step towards enabling LLVM compiler-rt builtins for RISC-V Rust.
1: rust-lang/compiler-builtins#350
2: rust-lang/compiler-builtins@e4f46b9