On 09/01/2017 04:05 PM, Simon Wright wrote:
> In gcc/config/darwin-driver.c, darwin_find_version_from_kernel() assumes
> that the minor version in the Darwin kernel version (16.7.0, => minor
> version 7) is equal to the bugfix component of the macOS version, so that
> the compiler receives -mmacosx-version-min=10.12.7 and the linker receives
> -macosx_version_min 10.12.7.
> 
> Unfortunately, Apple don’t apply this algorithm; the macOS version is
> actually 10.12.6.
> 
> Getting this wrong means that it’s impossible to run an executable from 
> within a bundle: Sierra complains "You have macOS 10.12.6. The application
> requires macOS 10.12.7 or later".
> 
> A workround would perhaps be to link the executable with
> -Wl,-macosx_version_min,`sw_vers -productVersion` (I assume that it’s only
> the linker phase that matters?)
> 
> I see that Apple’s gcc (Apple LLVM version 8.0.0
> (clang-800.0.42.1)) specifies - only at link time -
>  -macosx_version_min 10.12.0
> 
> This patch does the same.
> 
> gcc/Changelog:
> 
>       2017-09-01 Simon Wright <si...@pushface.org>
> 
>       PR target/80204
>       * config/darwin-driver.c (darwin_find_version_from_kernel): eliminate 
> calculation of the
>         minor version, always output as 0.
> 
OK
jeff

Reply via email to