HomeFreeBSD

bsd.linker.mk: Handle Xcode 15 linker identification

Description

bsd.linker.mk: Handle Xcode 15 linker identification

The upcoming Xcode 15 introduces a new linker (called ld-prime or ld-new
in some documentation) to replace the classic ld64, which we need to
handle.

Previously, the linker would identify itself as:

@(#)PROGRAM:ld  PROJECT:ld64-<version>

Now, there are two cases. When the classic ld64 is in use, it identifies
itself as:

@(#)PROGRAM:ld-classic  PROJECT:ld64-<version>

When the new linker is in use, it identifies itself as:

@(#)PROGRAM:ld  PROJECT:dyld-<version>

Thus, tweak the detection to allow a -classic suffix in the PROGRAM
string and to allow a dyld- prefix instead of an ld64- prefix on the
version number in the PROJECT string.

MFC after: 1 week

(cherry picked from commit c4177f5b41d45f3c83a0ef329a50e4ae05da3878)

Details

Provenance
jrtc27Authored on Jul 24 2023, 12:34 AM
Parents
rGa93799b55d2d: kmod.mk: Use portable printf '%s' over non-portable echo -n
Branches
Unknown
Tags
Unknown