(resent with correct address for Iain)

This is the same sort of problem as in PR80204: at present, GCC 11 & 12 assume 
that if the 
OS version is >= 20, the compiler should see --mmacosx-version-min={major - 
9}.{minor -1}.0, 
e.g. for OS version 21.3.0 that would be 12.2.0 (the linker sees 
-macosx-version-min, same 
arguments).

However, the native compiler clang treats 21.3.0 as 12.0.0: the compiler sees
 -triple x86_64-apple-macosx12.0.0
and the linker sees
 -platform_version macos 12.0.0 
the result of which is that linking an object file built with clang and one 
built with gcc gives e.g.

 ld: warning: object file (null.o) was built for newer macOS version (12.2) 
than being linked (12.0)

I propose the following patch, which works fine for me (darwin 21.3.0).

gcc/ChangeLog:
        
        2022-06-02  Simon Wright  <si...@pushface.org>
        
        PR target/104871
        * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS 
version is
          20 (macOS 11) or greater, report the minor version and the patch 
level as 0
          to match Apple clang’s behaviour.

Attachment: pr104871.diff
Description: Binary data

Reply via email to