From: Saleem Abdulrasool Date: Wed, 28 Oct 2015 04:45:58 +0000 (+0000) Subject: Driver: support -fuse-ld= on cross windows X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3e66583b182b3586010635cde8d055c3b0031df1;p=clang Driver: support -fuse-ld= on cross windows Update the linker selection to support the `-fuse-ld=` option for selecting a linker. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@251493 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index 44609aa4bd..1c6f86f8b5 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -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(JA, *this, Exec, CmdArgs, Inputs)); } diff --git a/test/Driver/Inputs/Windows/ARM/8.1/usr/bin/ld.lld-link2 b/test/Driver/Inputs/Windows/ARM/8.1/usr/bin/ld.lld-link2 new file mode 100755 index 0000000000..e69de29bb2 diff --git a/test/Driver/windows-cross.c b/test/Driver/windows-cross.c index 979f68539c..7bc9ac72b4 100644 --- a/test/Driver/windows-cross.c +++ b/test/Driver/windows-cross.c @@ -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" +