lowrisc-toolchains
lowrisc-toolchains copied to clipboard
Tuple name: use riscv32-ibex-elf?
I'm currently evaluating using crosstool-ng to build the Ibex toolchain (seems to work). I've seen that there is an example "riscv32-hifive1-elf" in the tree. Should we go for riscv32-ibex-elf for our toolchain tailored to Ibex?
I find vendor-specific toolchains a bit unpleasant, but the reality is it's not easy to describe a toolchain+libs in a straight-forward way. I have a slight preference for riscv32-unknown-elf if we're not really doing anything ibex-specific other than defaulting to imc.
It there a good way to denote the level of (or lack of) hardfloat support?
Sadly not. Just looking at the compiler triple there's no standard way for indicating whether this is multilib or not, and what lib configs are included. I suppose we could (ab)use the vendor field for e.g. the isa naming string like riscv32-rv32imc-, but that's somewhat redundant and I haven't seen anyone else doing it. It's a real shame at people didn't standardise on riscv-* for multilib compiler builds as riscv64-unknown-elf -march=rv32imc -mabi=ilp32 is kind of odd looking...