For 64-bit RISC-V platforms, Nerves passes riscv64 for the
architecture since that matched the tools (gcc and zig) used when Nerves
was ported to RISC-V. Rust uses riscv64gc. The g and c refer to
instruction sets available on the RISC-V processor, so this is a more
specific name. The g says that the processor supports atomics, integer
and floating point math. The c shows support for compressed
instructions. To my knowledge, all available 64-bit RISC-V processors
support gc, so this is a safe mapping.
For 64-bit RISC-V platforms, Nerves passes
riscv64
for the architecture since that matched the tools (gcc and zig) used when Nerves was ported to RISC-V. Rust usesriscv64gc
. Theg
andc
refer to instruction sets available on the RISC-V processor, so this is a more specific name. Theg
says that the processor supports atomics, integer and floating point math. Thec
shows support for compressed instructions. To my knowledge, all available 64-bit RISC-V processors supportgc
, so this is a safe mapping.