A "zippered" dylib contains several LC_BUILD_VERSION load commands, usually
one each for "normal" macOS and one for macCatalyst.
These are usually created by passing something like
-shared -target arm64-apple-macos -darwin-target-variant arm64-apple-ios13.1-macabi
to clang, which turns it into
-platform_version macos 12.0.0 12.3 -platform_version "mac catalyst" 14.0.0 15.4
for the linker.
ld64.lld can read these files fine, but it can't write them. Before this
change, it would just silently use the last -platform_version flag and ignore
the rest.
This change adds a warning that writing zippered dylibs isn't implemented yet
instead.
Sadly, parts of ld64.lld's test suite relied on the previous
"silently use last flag" semantics for its test suite: %lld always expanded
to ld64.lld -platform_version macos 10.15 11.0 and tests that wanted a
different value passed a 2nd -platform_version flag later on. But this now
produces a warning if the platform passed to -platform_version is not macos.
There weren't very many cases of this, so move these to use %no-arg-lld and
manually pass -arch.
nit: seems more direct this way