aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorIain Sandoe <iain@sandoe.co.uk>2023-07-13 07:36:51 +0100
committerIain Sandoe <iain@sandoe.co.uk>2023-07-13 20:14:27 +0100
commit032b5da1fc781bd3c23d9caa72fb09439e7f6f3a (patch)
treeec6fe811e3a858c44e34e613d8af6f95ebca21b7 /gcc
parentef3bbc69d15707e4db6e2f198c621effb636cc26 (diff)
downloadgcc-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.h15
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*} \