{"id":16847398,"url":"https://github.com/koute/rustc-rv32e","last_synced_at":"2025-11-08T21:30:29.686Z","repository":{"id":192174677,"uuid":"678855725","full_name":"koute/rustc-rv32e","owner":"koute","description":"Rust toolchain for RV32E","archived":true,"fork":false,"pushed_at":"2024-01-09T11:07:01.000Z","size":47,"stargazers_count":10,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-10T21:37:04.428Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/koute.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-08-15T14:39:49.000Z","updated_at":"2024-05-31T20:10:54.000Z","dependencies_parsed_at":"2023-09-03T05:56:26.544Z","dependency_job_id":"529a6763-71a4-4263-b1c1-127bae587f3f","html_url":"https://github.com/koute/rustc-rv32e","commit_stats":null,"previous_names":["koute/rustc-rv32e"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koute%2Frustc-rv32e","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koute%2Frustc-rv32e/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koute%2Frustc-rv32e/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koute%2Frustc-rv32e/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/koute","download_url":"https://codeload.github.com/koute/rustc-rv32e/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239562180,"owners_count":19659600,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T13:07:46.902Z","updated_at":"2025-11-08T21:30:29.620Z","avatar_url":"https://github.com/koute.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Rust toolchain for RV32E\n\nThis repository contains scripts to build a Rust toolchain targetting RISC-V RV32E.\n\nThe target triplet is: riscv32em-unknown-none-elf\n\n**Warning**: This was only tested on Linux! Patches welcome if it doesn't work on your OS.\n\nNote: This might require up to ~35GB of disk space to build.\n\n## Building rustc\n\n1. Run `./01-clone.sh`. This will download the necessary sources.\n2. Run `./02-patch.sh`. This will patch the sources for RV32E.\n3. Run `./03-rustc-build.sh`. This will build the compiler.\n\nNow you have two options:\n\na) Link the toolchain you've built with `rustup` using the `04a-link-rustup.sh` script.\nb) Build (potentially redistributable) dist artifacts with `05-build-dist.sh` and install them with `06-install-dist.sh`.\n\nIn case of (a) you'll have to keep this repository in-place as `rustup` will link to this directory\nto access the toolchain. In case of (b) the toolchain will be permanently installed, after which\nyou can delete this repository.\n\n## Using rustc\n\nAfter installing prefix your `cargo` invocations with `rustup run rv32e-nightly-2023-04-05-x86_64-unknown-linux-gnu`\nand add `--target=riscv32em-unknown-none-elf`. For example this should work:\n\n```\nrustup run rv32e-nightly-2023-04-05-x86_64-unknown-linux-gnu cargo build --target=riscv32em-unknown-none-elf\n```\n\nOnly `no_std` is supported!\n\n## Building clang (optional)\n\nYou can also build clang if you want. After cloning and patching the sources run `03-clang-build-and-install.sh`\nto build and install it. The clang binary will be installed to `/opt/clang-rv32e/bin/clang`.\n\n## License\n\nMIT or Apache-2\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoute%2Frustc-rv32e","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkoute%2Frustc-rv32e","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoute%2Frustc-rv32e/lists"}