@@ -219,7 +219,8 @@ static bool shouldLinkerNotDedup(bool IsLinkerOnlyAction, const ArgList &Args) {
219
219
void darwin::Linker::AddLinkArgs (Compilation &C, const ArgList &Args,
220
220
ArgStringList &CmdArgs,
221
221
const InputInfoList &Inputs,
222
- VersionTuple Version, bool LinkerIsLLD) const {
222
+ VersionTuple Version, bool LinkerIsLLD,
223
+ bool UsePlatformVersion) const {
223
224
const Driver &D = getToolChain ().getDriver ();
224
225
const toolchains::MachO &MachOTC = getMachOToolChain ();
225
226
@@ -355,7 +356,7 @@ void darwin::Linker::AddLinkArgs(Compilation &C, const ArgList &Args,
355
356
Args.AddAllArgs (CmdArgs, options::OPT_init);
356
357
357
358
// Add the deployment target.
358
- if (Version >= VersionTuple (520 ) || LinkerIsLLD)
359
+ if (Version >= VersionTuple (520 ) || LinkerIsLLD || UsePlatformVersion )
359
360
MachOTC.addPlatformVersionArgs (Args, CmdArgs);
360
361
else
361
362
MachOTC.addMinVersionArgs (Args, CmdArgs);
@@ -596,9 +597,13 @@ void darwin::Linker::ConstructJob(Compilation &C, const JobAction &JA,
596
597
const char *Exec =
597
598
Args.MakeArgString (getToolChain ().GetLinkerPath (&LinkerIsLLD));
598
599
600
+ // xrOS always uses -platform-version.
601
+ bool UsePlatformVersion = getToolChain ().getTriple ().isXROS ();
602
+
599
603
// I'm not sure why this particular decomposition exists in gcc, but
600
604
// we follow suite for ease of comparison.
601
- AddLinkArgs (C, Args, CmdArgs, Inputs, Version, LinkerIsLLD);
605
+ AddLinkArgs (C, Args, CmdArgs, Inputs, Version, LinkerIsLLD,
606
+ UsePlatformVersion);
602
607
603
608
if (willEmitRemarks (Args) &&
604
609
checkRemarksOptions (getToolChain ().getDriver (), Args,
0 commit comments