Skip to content

Commit 57d584c

Browse files
committed
[clang] xrOS always uses -platform-version
1 parent 52ff81f commit 57d584c

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

clang/lib/Driver/ToolChains/Darwin.cpp

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,8 @@ static bool shouldLinkerNotDedup(bool IsLinkerOnlyAction, const ArgList &Args) {
219219
void darwin::Linker::AddLinkArgs(Compilation &C, const ArgList &Args,
220220
ArgStringList &CmdArgs,
221221
const InputInfoList &Inputs,
222-
VersionTuple Version, bool LinkerIsLLD) const {
222+
VersionTuple Version, bool LinkerIsLLD,
223+
bool UsePlatformVersion) const {
223224
const Driver &D = getToolChain().getDriver();
224225
const toolchains::MachO &MachOTC = getMachOToolChain();
225226

@@ -355,7 +356,7 @@ void darwin::Linker::AddLinkArgs(Compilation &C, const ArgList &Args,
355356
Args.AddAllArgs(CmdArgs, options::OPT_init);
356357

357358
// Add the deployment target.
358-
if (Version >= VersionTuple(520) || LinkerIsLLD)
359+
if (Version >= VersionTuple(520) || LinkerIsLLD || UsePlatformVersion)
359360
MachOTC.addPlatformVersionArgs(Args, CmdArgs);
360361
else
361362
MachOTC.addMinVersionArgs(Args, CmdArgs);
@@ -596,9 +597,13 @@ void darwin::Linker::ConstructJob(Compilation &C, const JobAction &JA,
596597
const char *Exec =
597598
Args.MakeArgString(getToolChain().GetLinkerPath(&LinkerIsLLD));
598599

600+
// xrOS always uses -platform-version.
601+
bool UsePlatformVersion = getToolChain().getTriple().isXROS();
602+
599603
// I'm not sure why this particular decomposition exists in gcc, but
600604
// 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);
602607

603608
if (willEmitRemarks(Args) &&
604609
checkRemarksOptions(getToolChain().getDriver(), Args,

clang/lib/Driver/ToolChains/Darwin.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ class LLVM_LIBRARY_VISIBILITY Linker : public MachOTool {
6565
void AddLinkArgs(Compilation &C, const llvm::opt::ArgList &Args,
6666
llvm::opt::ArgStringList &CmdArgs,
6767
const InputInfoList &Inputs, VersionTuple Version,
68-
bool LinkerIsLLD) const;
68+
bool LinkerIsLLD, bool UsePlatformVersion) const;
6969

7070
public:
7171
Linker(const ToolChain &TC) : MachOTool("darwin::Linker", "linker", TC) {}

0 commit comments

Comments
 (0)