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 <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.
This commit is contained in:
parent
aeb10f8d2a
commit
11b9675774
3 changed files with 9 additions and 9 deletions
|
@ -681,9 +681,9 @@ case ${target} in
|
||||||
*-*-darwin[4-9]* | *-*-darwin1[0-9]*)
|
*-*-darwin[4-9]* | *-*-darwin1[0-9]*)
|
||||||
macos_min=`expr $darwin_maj - 4`
|
macos_min=`expr $darwin_maj - 4`
|
||||||
;;
|
;;
|
||||||
*-*-darwin20*)
|
*-*-darwin2*)
|
||||||
# Darwin 20 corresponds to macOS 11.
|
# Darwin 20 corresponds to macOS 11, Darwin 21 to macOS 12.
|
||||||
macos_maj=11
|
macos_maj=`expr $darwin_maj - 9`
|
||||||
def_ld64=609.0
|
def_ld64=609.0
|
||||||
;;
|
;;
|
||||||
*-*-darwin)
|
*-*-darwin)
|
||||||
|
|
|
@ -691,7 +691,7 @@ macosx_version_as_macro (void)
|
||||||
if (!version_array)
|
if (!version_array)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if (version_array[MAJOR] < 10 || version_array[MAJOR] > 11)
|
if (version_array[MAJOR] < 10 || version_array[MAJOR] > 12)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if (version_array[MAJOR] == 10 && version_array[MINOR] < 10)
|
if (version_array[MAJOR] == 10 && version_array[MINOR] < 10)
|
||||||
|
|
|
@ -64,17 +64,17 @@ validate_macosx_version_min (const char *version_str)
|
||||||
|
|
||||||
major = strtoul (version_str, &end, 10);
|
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;
|
return NULL;
|
||||||
|
|
||||||
/* Skip a separating period, if there's one. */
|
/* Skip a separating period, if there's one. */
|
||||||
version_str = end + ((*end == '.') ? 1 : 0);
|
version_str = end + ((*end == '.') ? 1 : 0);
|
||||||
|
|
||||||
if (major == 11 && *end != '\0' && !ISDIGIT (version_str[0]))
|
if (major > 10 && *end != '\0' && !ISDIGIT (version_str[0]))
|
||||||
/* For MacOS 11, we allow just the major number, but if the minor is
|
/* For macOS 11+, we allow just the major number, but if the minor is
|
||||||
there it must be numeric. */
|
there it must be numeric. */
|
||||||
return NULL;
|
return NULL;
|
||||||
else if (major == 11 && *end == '\0')
|
else if (major > 10 && *end == '\0')
|
||||||
/* We will rewrite 11 => 11.0.0. */
|
/* We will rewrite 11 => 11.0.0. */
|
||||||
need_rewrite = true;
|
need_rewrite = true;
|
||||||
else if (major == 10 && (*end == '\0' || !ISDIGIT (version_str[0])))
|
else if (major == 10 && (*end == '\0' || !ISDIGIT (version_str[0])))
|
||||||
|
@ -172,7 +172,7 @@ darwin_find_version_from_kernel (void)
|
||||||
if (minor_vers > 0)
|
if (minor_vers > 0)
|
||||||
minor_vers -= 1; /* Kernel 20.3 => macOS 11.2. */
|
minor_vers -= 1; /* Kernel 20.3 => macOS 11.2. */
|
||||||
/* It's not yet clear whether patch level will be considered. */
|
/* 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)
|
else if (major_vers - 4 <= 4)
|
||||||
/* On 10.4 and earlier, the old linker is used which does not
|
/* On 10.4 and earlier, the old linker is used which does not
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue