public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [pushed] Darwin, config: Amend for Darwin 21 / macOS 12.
@ 2021-10-27 18:34 Iain Sandoe
  0 siblings, 0 replies; only message in thread
From: Iain Sandoe @ 2021-10-27 18:34 UTC (permalink / raw)
  To: gcc-patches

From: Saagar Jha <saagar@saagarjha.com>

Patch from the Arm64 Darwin branch, originally by Saagar Jha.

It seems that the OS major version is now tracking the kernel
major version - 9.  Minor version has been set to kernel
minor - 1 as for Darwin20.

Tested on x86-64-darwin21, darwin20, darwin19, i686-darwin9,
x86_64-linux-gnu. Pushed to master, thanks
Iain

Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
Signed-off-by: Saagar Jha <saagar@saagarjha.com>

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.
---
 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 efd1f42ac23..b1082cdbab1 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -681,9 +681,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 951a998775f..62d28fcea50 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 a036e091c48..4f0c6bad61f 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
-- 
2.24.3 (Apple Git-128)


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-10-27 18:34 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-27 18:34 [pushed] Darwin, config: Amend for Darwin 21 / macOS 12 Iain Sandoe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).