From: Iain Sandoe Date: Thu, 13 Jul 2023 06:36:51 +0000 (+0100) Subject: Darwin: Use -platform_version when available [PR110624]. X-Git-Tag: releases/gcc-12.4.0~256 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a17f5a03e93d2cc6fd40cef6ab3930ba019f804a;p=thirdparty%2Fgcc.git 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 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 --git a/gcc/config/darwin.h b/gcc/config/darwin.h index 51e257dc698e..ba5fb0a2b486 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*:%