On Tue, 18 Apr 2023 08:44:24 PDT (-0700), [email protected] wrote:
Yep, if I drop the non-canonicial strings viadiff --git a/gcc/config/riscv/multilib-generator b/gcc/config/riscv/multilib-generator index 58b7198b243..a63a4d69c18 100755 --- a/gcc/config/riscv/multilib-generator +++ b/gcc/config/riscv/multilib-generator @@ -174,7 +174,7 @@ for cmodel in cmodels: ext_combs = expand_combination(ext) alts = sum([[x] + [x + y for y in ext_combs] for x in [arch] + extra], []) alts = filter(lambda x: len(x) != 0, alts) - alts = alts + list(map(lambda a : arch_canonicalize(a, args.misa_spec), alts)) + alts = list(map(lambda a : arch_canonicalize(a, args.misa_spec), alts)) # Drop duplicated entry. alts = unique(alts) then I can't link `-march=rv32imafdcv`, I need `-march=rv32imacv_zicsr_zve32f_zve32x_zve64x_zvl128b_zvl32b_zvl64b`. That's kind of a headache for users to type in.Yes, that's a headache for users, but arch string canonicalization is hiddened at the process, so the user could still just use rv32imafdcv at compile time and multi-lib config. And the driver and multilib-generator (with arch_canonicalize) script will handle those headache in the background.
Sorry, I'm not exactly sure what you're trying to say. I just rebuilt GCC with this patch (and t-linux-multilib regenerated from it), it's not resolving multlibs for the short names.
