GNU toolchain for RISC-V including GCC
github.com
github.com
Many processors and platforms die because of lack of GNU licensed tools if they fail to be adopted by a critical mass or the developer of the platform doesn't feel like supporting it anymore (Radxa Rock comes into my mind).
So, having an unencumbered and free toolchain ensures that the platform can live on no-matter-what. It's very valuable in my eyes because of that.
So, IOW, I wasn't aware the level of support present in RISC-V in GCC, TIL.
Asnwering your question, the README.md vaguely tells me that it provides a single-step, complete cross compilation toolchain to reduce project startup overheads. I consider this repo as an "exploded container" designed to be deployed in a VM to put your code in and get your binaries out. I guess the whole chain is composed of GNUs own tools, or with GPL licensed stuff, so it's not encumbered by anything, or broken by a tool because "we now provide this support in our closed source fork" situations.
> I consider this repo as an "exploded container" designed to be deployed in a VM to put your code in and get your binaries out.
Only after compiling the whole thing. And it’s not like this does anything special to enforce reproducibility.
On that note there are preexisting docker containers.
Considering it has 858 forks incl. by corporations like WD Semi and SiFive, I think I'm not too far off in my guess.
> helped incubating said containers and distro support over the years?
Tool chain build scripts for gcc and clang have existed for as nearly as long as the respective projects have been around - which in the case of gcc is over 30 years.
Also see https://crosstool-ng.github.io/
Distros like Debian have been packaging cross compilers for decades with their own tooling, long before 2014. MSYS has existed for I can’t remember (long before 2014).
As someone below said - this is a “very solved problem”.
Not that this repo isn’t useful - but I think posted here out of context clearly it is conveying the impression that it is bringing something novel to RISC-V which isn’t the case.
... which is indeed a very solved problem. Most distributions have RISC-V toolchains packaged and readily available.
I love llvm/clang.
This repo will be useful for getting started with toolchain development. If you are just a user wanting to write c/c++ app code then use your distro's toolchain packages.
Meanwhile, institutions like NASA [0] and the EU [1] are making big investments in the architecture. You can sense the hype by looking at the top submissions in r/riscv [2] from the past year.
I think this architecture is very promising. I'm excited for the ecosystem to mature.
[0] https://www.techspot.com/news/95911-sifive-risc-v-cores-micr...
[1] https://www.hpcwire.com/2022/12/16/europe-to-dish-out-e270-m...
Still useful to test everything together.
That said, on risc-v, gcc is mostly for legacy code as risc-v, a standard modern ISA free from toxic IP and that worldwide, is the signal of the start the assembly era. At best expect very high-level language interpreters (python/lua/ruby/javascript//whatever) to have a risc-v assembly written implementations.