Driver: support -fuse-ld= on cross windows

Update the linker selection to support the `-fuse-ld=` option for selecting a
linker.

llvm-svn: 251493
This commit is contained in:
Saleem Abdulrasool 2015-10-28 04:45:58 +00:00
parent 032a5d0cea
commit fd80f8385e
3 changed files with 5 additions and 2 deletions

View File

@ -9750,8 +9750,7 @@ void CrossWindows::Linker::ConstructJob(Compilation &C, const JobAction &JA,
}
}
const std::string Linker = TC.GetProgramPath("ld");
Exec = Args.MakeArgString(Linker);
Exec = Args.MakeArgString(TC.GetLinkerPath());
C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
}

View File

@ -38,3 +38,7 @@
// CHECK-LIBSTDCXX: "-internal-isystem" "{{.*}}/usr/include/c++" "-internal-isystem" "{{.*}}/usr/include/c++/armv7--windows-itanium" "-internal-isystem" "{{.*}}/usr/include/c++/backwards"
// RUN: %clang -### -target armv7-windows-itanium --sysroot %S/Inputs/Windows/ARM/8.1 -B %S/Inputs/Windows/ARM/8.1/usr/bin -fuse-ld=lld-link2 -shared -o shared.dll -x c++ %s 2>&1 \
// RUN: | FileCheck %s --check-prefix CHECK-FUSE-LD
// CHECK-FUSE-LD: "{{.*}}lld-link2"