esp-rs / rust

Rust for the xtensa architecture. Built in targets for the ESP32 and ESP8266
https://www.rust-lang.org
Other
723 stars 34 forks source link

Merge into main branch rust-lang/rust? #89

Open luojia65 opened 2 years ago

luojia65 commented 2 years ago

By now developers have to compile whole custom Rust toolchain to work with xtensa isa. Is there any possibility to merge xtensa instruction set support into main branch Rust? Then developers can install them easily by using rustup toolchain add command.

mcilloni commented 2 years ago

I don't think this can be done until the Xtensa backend is merged into upstream LLVM, but I could be wrong.

MabezDev commented 2 years ago

@mcilloni is correct, Rust won't accept Xtensa support upstream without atleast an experimental backend in LLVM upstream.

With the riscv chips, we've already upstreamed everything we can.

stappersg commented 2 years ago

Where to check the status?

URLs that I'm missing:

MabezDev commented 2 years ago
paulocsanz commented 1 year ago

espressif/llvm-project#4 implies that all of the repo's changes have been merged to upstream LLVM, although the PR hasn't been closed yet.

What are the next steps?

igrr commented 1 year ago

We have indeed got the first patch set merged into LLVM, however that set of patches is not yet sufficient for a working Rust compiler. We will update the tracking issue with the next series of patches as soon as we post them for review. You can find the entire set of Xtensa patches here: https://github.com/espressif/llvm-project/pull/62.

noahbliss commented 4 months ago

Hey guys, just wanted to ping this as it seems there is some new traction over at the tracking issue https://github.com/espressif/llvm-project/issues/4 seems this might be coming pretty close

jessebraham commented 4 months ago

seems this might be coming pretty close

My understanding (somebody can correct me if I'm wrong) is that there are still a large number of patches which need to be merged into LLVM before full Xtensa support is realized. Once this is complete, it will take time for these changes to propagate into Rust as well.