diff options
author | Simon Wright <simon@pushface.org> | 2022-06-12 17:01:22 +0100 |
---|---|---|
committer | Iain Sandoe <iain@sandoe.co.uk> | 2022-06-12 23:22:20 +0100 |
commit | add1adaa17a294ea25918ffb4fdd40f115362632 (patch) | |
tree | dcdfb8d3c6d260dbcd54bbd2a6e27f99f8d59079 /libphobos/src | |
parent | 6725f186cb70d48338f69456864bf469a12ee5be (diff) | |
download | gcc-add1adaa17a294ea25918ffb4fdd40f115362632.zip gcc-add1adaa17a294ea25918ffb4fdd40f115362632.tar.gz gcc-add1adaa17a294ea25918ffb4fdd40f115362632.tar.bz2 |
Darwin: Truncate kernel-provided version to OS major for Darwin >= 20.
In common with system tools, GCC uses a version obtained from the kernel as
the prevailing macOS target, when that is not overridden by command line or
environment versions (i.e. mmacosx-version-min=, MACOSX_DEPLOYMENT_TARGET).
Presently, GCC assumes that if the OS version is >= 20, the value used should
include both major and minium version identifiers. However the system tools
(for those versions) truncate the value to the major version - this leads to
link errors when combining objects built with clang and GCC for example:
ld: warning: object file (null.o) was built for newer macOS version (12.2)
than being linked (12.0)
The change here truncates the values GCC uses to the major version.
gcc/ChangeLog:
PR target/104871
* config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
version is darwin20 (macOS 11) or greater, truncate the version to the
major number.
Diffstat (limited to 'libphobos/src')
0 files changed, 0 insertions, 0 deletions