================
@@ -28,6 +28,8 @@ COFF::MachineTypes llvm::getMachineType(StringRef S) {
       .Case("arm64", COFF::IMAGE_FILE_MACHINE_ARM64)
       .Case("arm64ec", COFF::IMAGE_FILE_MACHINE_ARM64EC)
       .Case("arm64x", COFF::IMAGE_FILE_MACHINE_ARM64X)
+      .Case("mips", COFF::IMAGE_FILE_MACHINE_R4000) // also handle mips 
(big-endian) because we want to support '/machine:MIPS'
+      .Case("mipsel", COFF::IMAGE_FILE_MACHINE_R4000)
----------------
mstorsjo wrote:

I don't think we should accept `mipsel` here, and the comment about big-endian 
above feels confusing/misleading.

This switch is only for mapping arch names from the MS tool `/machine:` flags, 
to the corresponding `COFF::IMAGE_FILE_MACHINE_*` values. I presume that no MS 
tool ever accepted `/machine:mipsel` right? Then we don't need that value here. 
And as all Windows/COFF MIPS was little-endian (I presume) we don't need claim 
anything to be big endian.

It's just that arch names in different namespaces can mean different things. In 
MS tools, `/machine:mips` unambiguously means little endian mips, while the 
corresponding thing in a triple is `mipsel-*`.

https://github.com/llvm/llvm-project/pull/107744
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to