From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1698) id 527C73829BF5; Sun, 29 May 2022 19:03:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 527C73829BF5 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Iain D Sandoe To: gcc-cvs@gcc.gnu.org Subject: [gcc r10-10777] Darwin, config: Amend for Darwin 21 / macOS 12. X-Act-Checkin: gcc X-Git-Author: Saagar Jha X-Git-Refname: refs/heads/releases/gcc-10 X-Git-Oldrev: 8e4e6100d7fdef22e3f3c8475699a32aeb3e60ea X-Git-Newrev: b3933d3f53f1d40654295e18f9a7d2bd6dba6c3f Message-Id: <20220529190320.527C73829BF5@sourceware.org> Date: Sun, 29 May 2022 19:03:20 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 May 2022 19:03:20 -0000 https://gcc.gnu.org/g:b3933d3f53f1d40654295e18f9a7d2bd6dba6c3f commit r10-10777-gb3933d3f53f1d40654295e18f9a7d2bd6dba6c3f Author: Saagar Jha Date: Tue Jun 15 04:08:23 2021 -0700 Darwin, config: Amend for Darwin 21 / macOS 12. It seems that the OS major version is now tracking the kernel major version - 9. Minor version has been set to kerne min - 1. Signed-off-by: Iain Sandoe Signed-off-by: Saagar Jha gcc/ChangeLog: * config.gcc: Adjust for Darwin21. * config/darwin-c.c (macosx_version_as_macro): Likewise. * config/darwin-driver.c (validate_macosx_version_min): Likewise. (darwin_find_version_from_kernel): Likewise. (cherry picked from commit 11b967577483e51f97d540e9c2c9d1ea76da8122) Diff: --- gcc/config.gcc | 6 +++--- gcc/config/darwin-c.c | 2 +- gcc/config/darwin-driver.c | 10 +++++----- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/gcc/config.gcc b/gcc/config.gcc index 6fcdd771d4c..61b1ae685b8 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -691,9 +691,9 @@ case ${target} in *-*-darwin[4-9]* | *-*-darwin1[0-9]*) macos_min=`expr $darwin_maj - 4` ;; - *-*-darwin20*) - # Darwin 20 corresponds to macOS 11. - macos_maj=11 + *-*-darwin2*) + # Darwin 20 corresponds to macOS 11, Darwin 21 to macOS 12. + macos_maj=`expr $darwin_maj - 9` def_ld64=609.0 ;; *-*-darwin) diff --git a/gcc/config/darwin-c.c b/gcc/config/darwin-c.c index 96172305711..3c2afe56522 100644 --- a/gcc/config/darwin-c.c +++ b/gcc/config/darwin-c.c @@ -691,7 +691,7 @@ macosx_version_as_macro (void) if (!version_array) goto fail; - if (version_array[MAJOR] < 10 || version_array[MAJOR] > 11) + if (version_array[MAJOR] < 10 || version_array[MAJOR] > 12) goto fail; if (version_array[MAJOR] == 10 && version_array[MINOR] < 10) diff --git a/gcc/config/darwin-driver.c b/gcc/config/darwin-driver.c index f00d5a02d1d..35f925aef86 100644 --- a/gcc/config/darwin-driver.c +++ b/gcc/config/darwin-driver.c @@ -64,17 +64,17 @@ validate_macosx_version_min (const char *version_str) major = strtoul (version_str, &end, 10); - if (major < 10 || major > 11 ) /* MacOS 10 and 11 are known. */ + if (major < 10 || major > 12 ) /* macOS 10, 11, and 12 are known. */ return NULL; /* Skip a separating period, if there's one. */ version_str = end + ((*end == '.') ? 1 : 0); - if (major == 11 && *end != '\0' && !ISDIGIT (version_str[0])) - /* For MacOS 11, we allow just the major number, but if the minor is + if (major > 10 && *end != '\0' && !ISDIGIT (version_str[0])) + /* For macOS 11+, we allow just the major number, but if the minor is there it must be numeric. */ return NULL; - else if (major == 11 && *end == '\0') + else if (major > 10 && *end == '\0') /* We will rewrite 11 => 11.0.0. */ need_rewrite = true; else if (major == 10 && (*end == '\0' || !ISDIGIT (version_str[0]))) @@ -172,7 +172,7 @@ darwin_find_version_from_kernel (void) if (minor_vers > 0) minor_vers -= 1; /* Kernel 20.3 => macOS 11.2. */ /* It's not yet clear whether patch level will be considered. */ - asprintf (&new_flag, "11.%02d.00", minor_vers); + asprintf (&new_flag, "%d.%02d.00", major_vers - 9, minor_vers); } else if (major_vers - 4 <= 4) /* On 10.4 and earlier, the old linker is used which does not