OS X 10.6 is pretty dated by now, and it may be time to raise the system requirements. This would give us more flexibility in which APIs we could use, and could reduce the risk of unexpected behaviour by narrowing the range of supported versions.
For reference, Google dropped support for anything older than 10.9 in November 2015:
Apple has no official stance on life cycles (and doesn't even seem to announce that they've stopped updating something). There seems to be theme of supporting the latest three versions though.
More information is probably needed on what our customers use.
The build system is another big issue here as it is a bit difficult to cross-compile for OS X as binutils doesn't support OS X and we have to try to port Apple's tools.
However, we might also be able to update the SDK without changing the tools.
This fork of Apple's cctools/ld64 seems to have some interest:
A quick test shows that cctools-port seems possible to build for us with minor changes to how we build odcctools. I haven't tested using it though, but hopefully there are no massive blocking bugs.
I tried the latest release they've made (cctools 877.8), as well as the latest branch with explicit gcc support (cctools 895).
Trying the next latest branch (cctools 949) fails as the configure script explicitly checks that clang is used. It might be possible to work around this if necessary. They haven't documented if they actually need clang specific functionality, or if they simply aren't testing gcc anymore.
macports claims that cctools assembler is abandoned in favour of llvm's, and hence doesn't support modern things like AVX:
Perhaps we need to do more than just upgrade cctools to have a current toolchain...
llvm also has a linker. I wonder if Apple has switched to that as well?