mirror of
https://github.com/gcc-mirror/gcc.git
synced 2025-08-15 22:56:43 +00:00
Darwin: account for macOS 26
darwin25 will be named macOS 26 (codename Tahoe). This is a change from darwin24, which was macOS 15. We need to adapt the driver to this new numbering scheme. 2025-07-14 François-Xavier Coudert <fxcoudert@gcc.gnu.org> gcc/ChangeLog: PR target/120645 * config/darwin-driver.cc: Account for latest macOS numbering scheme. gcc/testsuite/ChangeLog: * gcc.dg/darwin-minversion-link.c: Account for macOS 26.
This commit is contained in:
@ -64,7 +64,8 @@ validate_macosx_version_min (const char *version_str)
|
||||
|
||||
major = strtoul (version_str, &end, 10);
|
||||
|
||||
/* macOS 10, 11, and 12 are known. clang accepts up to 99. */
|
||||
/* macOS 10, 11, 12, 13, 14, 15 and 26 are known.
|
||||
clang accepts up to 99. */
|
||||
if (major < 10 || major > 99)
|
||||
return NULL;
|
||||
|
||||
@ -159,15 +160,16 @@ darwin_find_version_from_kernel (void)
|
||||
if (*version_p++ != '.')
|
||||
goto parse_failed;
|
||||
|
||||
/* Darwin20 sees a transition to macOS 11. In this, it seems that the
|
||||
mapping to macOS minor version and patch level is now always 0, 0
|
||||
(at least for macOS 11 and 12). */
|
||||
if (major_vers >= 20)
|
||||
{
|
||||
/* Apple clang doesn't include the minor version or the patch level
|
||||
in the object file, nor does it pass it to ld */
|
||||
asprintf (&new_flag, "%d.00.00", major_vers - 9);
|
||||
}
|
||||
/* Darwin25 saw a transition to macOS 26. */
|
||||
if (major_vers >= 25)
|
||||
/* Apple clang doesn't include the minor version or the patch level
|
||||
in the object file, nor does it pass it to ld */
|
||||
asprintf (&new_flag, "%d.00.00", major_vers + 1);
|
||||
/* Darwin20 saw a transition to macOS 11. */
|
||||
else if (major_vers >= 20)
|
||||
/* Apple clang doesn't include the minor version or the patch level
|
||||
in the object file, nor does it pass it to ld */
|
||||
asprintf (&new_flag, "%d.00.00", major_vers - 9);
|
||||
else if (major_vers - 4 <= 4)
|
||||
/* On 10.4 and earlier, the old linker is used which does not
|
||||
support three-component system versions.
|
||||
|
@ -20,6 +20,7 @@
|
||||
/* { dg-additional-options "-mmacosx-version-min=013.000.00 -DCHECK=130000" { target *-*-darwin22* } } */
|
||||
/* { dg-additional-options "-mmacosx-version-min=014.000.00 -DCHECK=140000" { target *-*-darwin23* } } */
|
||||
/* { dg-additional-options "-mmacosx-version-min=015.000.00 -DCHECK=150000" { target *-*-darwin24* } } */
|
||||
/* { dg-additional-options "-mmacosx-version-min=026.000.00 -DCHECK=260000" { target *-*-darwin25* } } */
|
||||
|
||||
int
|
||||
main ()
|
||||
|
Reference in New Issue
Block a user