https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116809

--- Comment #24 from Mark Mentovai <mark at moxienet dot com> ---
(In reply to Iain Sandoe from comment #23)
> OK. I don't want to argue about the details / usability etc. etc. ( but note
> that __symbols are for the implementation and the compiler is part of the
> implementation ).  In principle, we should have dialogue between the
> compiler 'vendors' (we do upstream) - but usually the first we know about
> what's happening with SDKs is when something does not work.

I mentioned the __ thing only to illustrate how these are a little outside of
the normal application of the SDK.

Apple’s made it pretty clear over the years that they consider themselves to
own the entire implementation, end-to-end, privately.

This isn’t just a GCC problem. They’ve bought into clang in a very big way and
contribute to open-source LLVM. Trunk clang still has incompatibilities with
the newly released macOS 15 SDK (example:
https://chromium-review.googlesource.com/c/5622510/comments/04615850_0139eb2f).

> So, the solutions that work are:
> 
> 1. when building for macOS 14, use the macOS 14 SDK (that is actually my
> default action on all OS versions - use the last SDK provided for it).

Infeasible, though. It’s been a very long time since Apple bundled more than
one SDK per platform in Xcode. (The last time they did was Xcode 6.4 in 2015,
with 10.9 and 10.10 SDKs, and some early Xcode 7.0 betas.) I really liked
picking-and-choosing an appropriate SDK, but Apple decided that availability
annotations were good enough for developer purposes and moved everything over
to a single SDK only.

> 2. Drop the legacy lib from macOS 14 as well.
> 
> given that users will probably just use what xcrun gives them, 2 (as you
> propose) is probably least likely to get us a lot of bogus bug reports.

Yeah, exactly. It’s not even going to be a matter of “what xcrun gives them”,
there will be a large enough number of macOS 14 systems with developer tools
but a macOS 15 SDK instead of a macOS 14 SDK. The SDKs are going to be updated
in the wild, I don’t think GCC has much of an option to try to require that
macOS 14 stick with that exact SDK.

Reply via email to