Why not alias aarch64-apple-ios to arm64-apple-ios


when calling clang with —target=arm64-apple-ios, the triple
results in arm64-apple-ios7.0, however when using
—target=aarch64-apple-ios, it ends up being unknown-apple-macosx10.4.0

What is the reasoning behind this? On the other hand the
lovely autotools (with a recent config.{guess,sub} recognize)
aarch64-apple-ios, but not arm64-apple-ios. Thus resulting in
mismatches between the autoconf target/build/host and clangs
—target flag, and by that extension llvms -triple flags?


There's no real reasoning, it's a bug in the Clang driver. It's
persisted this long because it's mostly just a minor nuisance for

The official Apple tools use "-arch arm64" instead of specifying
-target directly; -arch only works when the default target is
Darwin-based to put Clang into "Apple mode" as it were. But it does
sort of explain why arm64 works better than aarch64, which is the
preferred name everywhere else.