Skip to content

Commit 681cb54

Browse files
committed
[Driver] Fix duplicate -L after D150013
D150013 is to render -L for AMDGPU but updating tools::AddLinkerInputs is wrong and causes many non-isCrossCompiling targets to have duplicate -L options because they do `Args.AddAllArgs(CmdArgs, options::OPT_L);`. Revert the change and add a `Args.AddAllArgs(CmdArgs, options::OPT_L);` instead.
1 parent 6228122 commit 681cb54

File tree

2 files changed

+2
-3
lines changed

2 files changed

+2
-3
lines changed

clang/lib/Driver/ToolChains/AMDGPU.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -552,6 +552,7 @@ void amdgpu::Linker::ConstructJob(Compilation &C, const JobAction &JA,
552552
std::string Linker = getToolChain().GetProgramPath(getShortName());
553553
ArgStringList CmdArgs;
554554
addLinkerCompressDebugSectionsOption(getToolChain(), Args, CmdArgs);
555+
Args.AddAllArgs(CmdArgs, options::OPT_L);
555556
AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs, JA);
556557
if (C.getDriver().isUsingLTO())
557558
addLTOOptions(getToolChain(), Args, CmdArgs, Output, Inputs[0],

clang/lib/Driver/ToolChains/CommonArgs.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -262,11 +262,9 @@ void tools::AddLinkerInputs(const ToolChain &TC, const InputInfoList &Inputs,
262262
Args.AddAllArgValues(CmdArgs, options::OPT_Zlinker_input);
263263

264264
// LIBRARY_PATH are included before user inputs and only supported on native
265-
// toolchains. Otherwise only add the '-L' arguments requested by the user.
265+
// toolchains.
266266
if (!TC.isCrossCompiling())
267267
addDirectoryList(Args, CmdArgs, "-L", "LIBRARY_PATH");
268-
else
269-
Args.AddAllArgs(CmdArgs, options::OPT_L);
270268

271269
for (const auto &II : Inputs) {
272270
// If the current tool chain refers to an OpenMP offloading host, we

0 commit comments

Comments
 (0)