- Normalize arch string would help the multi-lib handling, e.g. rv64gc and rv64g_c are both valid and same arch, but latter one would confuse the detection of multi-lib, earlier normalize can resolve this issue.
gcc/ChangeLog: * config/riscv/riscv.h (DRIVER_SELF_SPECS): New. --- gcc/config/riscv/riscv.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gcc/config/riscv/riscv.h b/gcc/config/riscv/riscv.h index 6119e6350620..1f2fe7e10e05 100644 --- a/gcc/config/riscv/riscv.h +++ b/gcc/config/riscv/riscv.h @@ -68,6 +68,10 @@ extern const char *riscv_expand_arch (int argc, const char **argv); %{mabi=*} \ %(subtarget_asm_spec)" +#undef DRIVER_SELF_SPECS +#define DRIVER_SELF_SPECS \ +"%{march=*:-march=%:riscv_expand_arch(%*)}" + #define TARGET_DEFAULT_CMODEL CM_MEDLOW #define LOCAL_LABEL_PREFIX "." -- 2.27.0