Support installing third-party tier-3 target support with rustup
@rami3l is already working on this.
Since Dec 9, 2025.
Assessment
This issue has not been assessed yet.
Description
Problem you are trying to solve
I'd like to be able to install a tier-3 toolchain using rustup rather than the current solution of unzipping a file into $(rustc --print sysroot).
Currently we manually build zipfiles of the libstd for riscv32imac-unknown-xous-elf using the stable compiler and install this into $(rustc --print sysroot)/lib/rustlib. This works well as it allows for users to have the standard library without needing a C compiler (which is otherwise required to build libm).
These zipfiles are installed by the xtask pattern as part of the normal build, but it would be nice to have it managed in a standard way.
Solution you'd like
rustup supports having alternate distribution servers. These are mostly used for pre-release testing, but it would be possible to use it for tier-3 targets. For example, we could build packages for xous with ./x.py dist --target riscv32imac-unknown-xous-elf build-manifest rust-std and then use the build-manifest program to generate a dist server root.
The issue is that target add refuses to consult the dist server for the riscv32imac-unknown-xous-elf target triple, so even though that target exists and is available on that server it won't go looking for it.
Notes
Initially I was going to open an issue identical to https://github.com/rust-lang/rustup/issues/4590 because it took me a while to discover what the problem was. However I see as of https://github.com/rust-lang/rustup/issues/4006 it at least doesn't refer to rustc --print target-list anymore.
- Dominant language
- Rust
- Stars
- 7k
- Forks
- 1.1k
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 46
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from rust-lang/rustup
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
E-easy enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
enhancement O-shell
Difficulty 1/5 Under an hour Newbie friendliness 72/100
-
enhancement
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
All issues in rust-lang/rustup
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
issue
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
agentic-workflows
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
web-infra-dev/rspack#15847 ·