and maybe an additional one for officially adding the CH32V307 (if you want), that references the other three as requirements.
The part about interrupts should be pretty easy to do with a modification to the compiler. We did something similar for interrupt handling on ARM by using the interrupt; procedure directiveIn my understanding other riscv32 microcontrollers don't have a user mode (but do have interrupts), so also don't need/support MRET. This maybe should be considered.
When I build the cross-compiler, the according makefile for riscv32-embedded is not created/updated.