Expand targets acceptable to rustc

Forgot this existed.

x86_64-w64-mingw32 is using the MinGW-w64 ABI created for MinGW-w64, a fork of MinGW. This is exactly the same AFAIK to x86_64-pc-windows-gnu, just different terms from different timeframes. Honestly, GNU should catch up to modern naming, but at the same time, MinGW and MinGW-w64 came first, and windows-gnu came later.

(w64 apparently is just something that can, probably, be swapped with pc on those targets) I believe that, technically, w64-mingw32 is the mingw ABI on the w64 system, not the mingw ABI with a w64 vendor. Or at least, I'm guessing that's how the makers of MinGW-w64 intended it.

A config.sub canonical name can never be changed.

Indeed. Though it may be reasonable to canonicalize x86_64-*-windows-gnu as x86_64-w64-mingw32, though I don't know how viable such a special case is (but I would be willing to look into preparing a patch series for it, or, failing that, accepting the windows-* forms which are common in a number of toolchains - llvm uses x86_64-pc-windows-msvc as a special case in it's configuration guess code, I've adopted the same in lccc). Ideally, though, fixing things on both sides is, at least to me, the preferable solution.

This reminds me that I have a list of targets accepted by rustc but not by config.sub... I should probably post that (I guess to config-patches and probably on IRLO, but a different thread?).

Agreed. I don't have time to work on it, unfortunately.

That seems right to me.