Wait, take second round review:
> * All extensions were being prefixed with an underscore, which leads to
> some odd combinations like "rv32gc_v", this just adds underscores to
> the multi-letter extensions.
> * The input base ISAs were being canonicalized, which resulted in some
> odd multilib default search paths. I'm not sure if anything breaks
> due to this, but it seems safer to just leave them alone.
>* All extensions were being prefixed with an underscore, which leads to
> some odd combinations like "rv32gc_v", this just adds underscores to
> the multi-letter extensions.
I think that weirdness can be removed arch-canonicalize I think?
And currently all -march will be canonicalized before query multi lib
> @@ -163,14 +168,13 @@ for cmodel in cmodels:
> if cmodel == "compact" and arch.startswith("rv32"):
> continue
>
> - arch = arch_canonicalize (arch, args.misa_spec)
> arches[arch] = 1
> abis[abi] = 1
> extra = list(filter(None, extra.split(',')))
> 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 = list(map(lambda a : arch_canonicalize(a, args.misa_spec), alts))
> + alts = alts + list(map(lambda a : arch_canonicalize(a, args.misa_spec),
> alts))
So we don't really need to append non-canonical one to the list?