pulp-platform / pulp-riscv-gnu-toolchain

Other
68 stars 50 forks source link

Difference to pulp-platform/riscv-gnu-toolchain #43

Open Smephite opened 1 month ago

Smephite commented 1 month ago

When working with this toolchain I stumbled across strange behavior i.e. restrictions on function calls in functions annotated for interrupts.
Upon further investigation, I noticed that there is another riscv-gnu-toolchain repository on the pulp-platform organization, which was updated more recently than this variant. This variant of the toolchain for example fixed the issue I was having.

What is the difference between these two toolchains? Is there any good reason not to merge them into a single repository for a better overview?

CC @micprog @bluewww

bluewww commented 1 month ago

riscv-gnu-toolchain is based on gcc 9.2.0 and pulp-riscv-gnu-toolchain is based on gcc 7.1.1.

riscv-gnu-toolchain has many bugfixes in binutils (linker, objdump, gdb) and the compiler and supports most instructions of xpulpv3 and xcorev including hardware loops.

pulp-riscv-gnu-toolchain has more known problems but there are a couple of extensions such as pulp-nn which haven't been forward ported which is why is still available.