https://gcc.gnu.org/g:a17f5a03e93d2cc6fd40cef6ab3930ba019f804a

commit r12-10310-ga17f5a03e93d2cc6fd40cef6ab3930ba019f804a
Author: Iain Sandoe <i...@sandoe.co.uk>
Date:   Thu Jul 13 07:36:51 2023 +0100

    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 <i...@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)

Diff:
---
 gcc/config/darwin.h | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
index 51e257dc698..ba5fb0a2b48 100644
--- a/gcc/config/darwin.h
+++ b/gcc/config/darwin.h
@@ -277,6 +277,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.
@@ -352,7 +360,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} \
@@ -449,8 +459,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*} \

Reply via email to