On Tue, 18 Apr 2023 08:44:24 PDT (-0700), gcc-patches@gcc.gnu.org wrote:
Yep, if I drop the non-canonicial strings via

    diff --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.

Reply via email to