-
-
Notifications
You must be signed in to change notification settings - Fork 265
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
Please include Xtensa arch in standard distro? #4725
Comments
Leave druntime and phobos unimplemented/not supported for now; I'll contribute that implementation in the future, but I'll run bare-metal for now. The compiler just needs to have the target included to get started. |
Xtensa for LLVM is experimental (generic cpu-features only). Currently need espressif-fork for esp8266, esp32 & esp32-S[2|3]. upstream: Users @Reavershark and @kubo39 have already experimented using ldc2 for esp32 to clarify the details. |
That's weird... so, they upstreamed the arch 2 years ago, but their fork is currently way ahead? |
espressif/llvm-xtensa#6 (comment) Xtensa architecture is owned by Cadence and not espressif ( which pays the IP license) |
I have a small partial @nogc druntime and phobos implementation on esp32, not really released yet but I might soon. |
Please reserve a version keyword for this architecture, then we can implement that easily on the LDC side. https://dlang.org/spec/version.html#predefined-versions |
Understandable, but note: with github actions it is fairly straightforward to build an LDC with a different LLVM build. See LDC's github actions (we have one where we link it with LDC-modified LLVM). May be a workable solution. You could even upstream the action to LDC, and I would support merging it. ESP is indeed very common and would certainly be cool if there is an LDC compiler that can target it. |
To add this to our LLVM CI build, which we use for the LDC CI builds, it should suffice to add an according |
Done, see dlang/dlang.org#3894 See also dlang/dmd#16773 for DMD reserved version identifier. |
Upstream PR for Xtensa version identifier merged into DMD (all that does is give an error if you try to manually set So #4727 is now ready to go. |
As said above, it seems ESP are replacing Xtensa architecture with RISC-V Excuse me, I'll take this opportunity to post ~offtopic: I made Druntime and Phobos forks which supports bare metal ARM and almost supports RISCV32 (actually focusing on ESP IDF): Please subscribe, ask questions, etc. |
Espressif have upstreamed the Xtensa backend for LLVM.
Please consider adding the Xtensa backend to LDC by default. ESP micros are extremely common; used in basically every cheap/low-power IOT product these days.
I have started a new company and primary target is Xtensa microcontrollers. I don't like the company's tech stack depending on custom build compilers. There's not a huge force to choose D for microcontrollers, but there are some advantages, and my work will definitely push the D-on-microcontrollers ecosystem forward... but if the company depends on a custom build compiler, I will probably just flip back to C.
I can't accept an unreasonable level of stuffing around to build code; users must be able to install the default toolchain and compile.
The text was updated successfully, but these errors were encountered: