Darwin: Use -platform_version when available [PR110624].
Later versions of the static linker support a more flexible flag to describe the OS, OS version and SDK used to build the code. This replaces the functionality of '-mmacosx_version_min' (which is now deprecated, leading to the diagnostic described in the PR). We now use the platform_version flag when available which avoids the diagnostic. Signed-off-by: Iain Sandoe <iain@sandoe.co.uk> PR target/110624 gcc/ChangeLog: * config/darwin.h (DARWIN_PLATFORM_ID): New. (LINK_COMMAND_A): Use DARWIN_PLATFORM_ID to pass OS, OS version and SDK data to the static linker. (cherry picked from commit 032b5da1fc781bd3c23d9caa72fb09439e7f6f3a)
This commit is contained in:
parent
c042baa99e
commit
4adf49a436
@ -276,6 +276,14 @@ extern GTY(()) int darwin_ms_struct;
|
||||
#define DARWIN_RDYNAMIC "%{rdynamic:%nrdynamic is not supported}"
|
||||
#endif
|
||||
|
||||
#if LD64_HAS_PLATFORM_VERSION
|
||||
#define DARWIN_PLATFORM_ID \
|
||||
"%{mmacosx-version-min=*: -platform_version macos %* 0.0} "
|
||||
#else
|
||||
#define DARWIN_PLATFORM_ID \
|
||||
"%{mmacosx-version-min=*:-macosx_version_min %*} "
|
||||
#endif
|
||||
|
||||
/* Code built with mdynamic-no-pic does not support PIE/PIC, so we disallow
|
||||
these combinations; we also ensure that the no_pie option is passed to
|
||||
ld64 on system versions that default to PIE when mdynamic-no-pic is given.
|
||||
@ -351,7 +359,9 @@ extern GTY(()) int darwin_ms_struct;
|
||||
LINK_PLUGIN_SPEC \
|
||||
"%{flto*:%<fcompare-debug*} \
|
||||
%{flto} %{fno-lto} %{flto=*} \
|
||||
%l " LINK_COMPRESS_DEBUG_SPEC \
|
||||
%l " \
|
||||
DARWIN_PLATFORM_ID \
|
||||
LINK_COMPRESS_DEBUG_SPEC \
|
||||
"%X %{s} %{t} %{Z} %{u*} \
|
||||
%{e*} %{r} \
|
||||
%{o*}%{!o:-o a.out} \
|
||||
@ -454,8 +464,7 @@ extern GTY(()) int darwin_ms_struct;
|
||||
%{force_cpusubtype_ALL:-arch %(darwin_arch)} \
|
||||
%{!force_cpusubtype_ALL:-arch %(darwin_subarch)} "\
|
||||
LINK_SYSROOT_SPEC \
|
||||
"%{mmacosx-version-min=*:-macosx_version_min %*} \
|
||||
%{!multiply_defined*:%{shared-libgcc: \
|
||||
"%{!multiply_defined*:%{shared-libgcc: \
|
||||
%:version-compare(< 10.5 mmacosx-version-min= -multiply_defined) \
|
||||
%:version-compare(< 10.5 mmacosx-version-min= suppress) }} \
|
||||
%{sectalign*} %{sectcreate*} %{sectobjectsymbols*} %{sectorder*} \
|
||||
|
Loading…
x
Reference in New Issue
Block a user