diff options
author | Iain Sandoe <iain@sandoe.co.uk> | 2023-07-13 07:36:51 +0100 |
---|---|---|
committer | Iain Sandoe <iain@sandoe.co.uk> | 2023-07-13 20:14:27 +0100 |
commit | 032b5da1fc781bd3c23d9caa72fb09439e7f6f3a (patch) | |
tree | ec6fe811e3a858c44e34e613d8af6f95ebca21b7 /gcc | |
parent | ef3bbc69d15707e4db6e2f198c621effb636cc26 (diff) | |
download | gcc-032b5da1fc781bd3c23d9caa72fb09439e7f6f3a.zip gcc-032b5da1fc781bd3c23d9caa72fb09439e7f6f3a.tar.gz gcc-032b5da1fc781bd3c23d9caa72fb09439e7f6f3a.tar.bz2 |
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.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/darwin.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h index 714d3d5..1b538c7 100644 --- a/gcc/config/darwin.h +++ b/gcc/config/darwin.h @@ -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*} \ |