Hi, I've been hoping this sort of target-normalizing effort would occur at some point, so glad to see your email! I largely rewrote config.sub in recent years to make it's parsing more systematic, and have tried to organize the platforms for my distro (NixOS) too, so the friction between various software here has bugged me for a while. I would try to rope in LLVM too, to really get this done once and for all. (Maybe we can make some structured e.g. JSON normalizations too :)).
I think the biggest sticking point will be how the 3rd and 4th components are handled. config.sub conventionally treats the 4th as the OS, and the 3rd is extra kernel info. LLVM treats the 3rd as the OS, and the 4tht as extra ABI info. (I think this confusion arose due to different interpretations of "..linux-gnu"!) The LLVM way appears to be winning, and thus config.sub now has some special cases to support it, but nothing systematic yet. Cheers, John On Thu, Jul 22, 2021, at 12:08 PM, connor horman wrote: > Hello. > Based on some discussion on the rust-lang zulip forum "Deprecating > target_vendor" > <https://zulip-archive.rust-lang.org/243200tlangmajorchanges/79182Deprecatetargetvendorlangteam102.html#244770440>, > a couple weeks ago I compiled a list of targets which are accepted by the > official rust compiler, rustc (https://github.com/rust-lang/rust, > https://doc.rust-lang.org/nightly/rustc/targets/index.html), but not by > config.sub, however I neglected to post the list anywhere. > > Of the 167 targets that rustc accepts, 52 are not accepted. Attached is the > list of the unaccepted targets (unsupported). I have also attached the output > from config.sub in the failing cases (comprehensive), as well as the script > used to generate the list (test-rustc-targets). > > *Attachments:* > * comprehensive > * unsupported > * test-rustc-targets