This Moves ELFObjectFile to using RISCVISAInfo::parseNormalizedArchString which is not an NFC, as the test changes show. D144353 transitioned LLD to using this function, which is specialised to parsing arch strings in the normalised format specified in the psABI rather than user-authored strings accepted in -march, which has greater flexibility.
parseNormalizedArchString does not ignore or produce an error for ISA extensions with a version that isn't recognised/supported by LLVM. As current GCC is marking its objects with a higher version of the A, F, and D extensions than LLVM (see extension versioning discussion this massively improves the usability of llvm-objdump with such binaries.
This patch also solves the issues addressed in D146070, though I've opted to post both because I suspect this patch may attract more discussion about questions such as if/when warning should be produced, while D146070 is hopefully more straightforward to land. One challenge with producing warnings for unrecognised versions is that LLVM lacks a good infrastructure for doing this from utility code like RISCVISAInfo.
Use FileCheck -DFILE=noncanonicalized_arch.o
Add error: to check that this is an error.
Add NONCANON-NOT: {{.}} to assert that there is no dumping after the error message.