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?