Skip to content

What still needs to be done before upstreaming? #24

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

Closed
ids1024 opened this issue Apr 7, 2018 · 2 comments
Closed

What still needs to be done before upstreaming? #24

ids1024 opened this issue Apr 7, 2018 · 2 comments

Comments

@ids1024
Copy link

ids1024 commented Apr 7, 2018

Upstream Rust is currently using LLVM 6 (rust-lang/rust#48782). This fork seems to have some additional commits (rust-lang/llvm@6ceaaa4...riscv-rust:rust-llvm-release-6-0-0-riscv). I guess upstreaming RISC-V support in Rust shouldn't be done until the non-Rust specific changes are in upstream LLVM?

It looks like rust-lang/lld doesn't have RISC-V support, so I suppose that is needed.

I see there's currently an issue with std on RISC-V (https://github.com/riscv-rust/rust/issues/2), but that probably shouldn't block upstreaming if libcore is working, since it is still useful for bare metal targets.

Anything else?

@dvc94ch
Copy link
Member

dvc94ch commented Apr 7, 2018

We don't need lld support to upstream. I am mainly waiting on the llvm backend used by rust to have enough riscv support to compile core. Then there are a bunch of issues for it to be useful. Debug info is corrupted [0] and for some reason weirdness occurs when lto=false [0]. Atomic support in llvm is missing which is useful for bare metal too and porting std is mainly on my todo list to be able to run the rustc testsuite to help debug issues like the two mentioned above. This also requires support for atomics.

[0] riscv-rust/riscv-crates#1

@dvc94ch
Copy link
Member

dvc94ch commented Jul 26, 2018

llvm is ready, work on upstreaming is underway

@dvc94ch dvc94ch closed this as completed Jul 26, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants