Tools such as llvm-objdump will currently inputs when the base ISA has an unrecognised version. I addressed a similar issue in LLD in D144353, introducing parseArchStringNormalized. While it would make sense to migrate llvm/lib/Object/ELFObjectFile.cpp to using parseArchStringNormalized as well, this patch takes a less ambitious initial step. By tweaking the behaviour of parseArchString when IgnoreUnknown is true (which only has one in-tree user), we use the default supported ISA version when a base ISA with unrecognised version is encountered.
This means that llvm-objdump and related tools will function better for objects produced from a recent GCC. This isn't a full fix, as IgnoreUnknown means that an imafd object with attributes specifying newer A/F/D versions will have those extensions ignored.
This needs to be rebased. RISCVExtensionInfo doesn't contain the string anymore.