summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2015-10-28 04:45:58 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2015-10-28 04:45:58 +0000
commitfd80f8385e60419c3e0ebc9a0693d857af7c7bdc (patch)
tree971c3b837de44612c71a0effa64601547509c097 /clang
parent032a5d0cea76ac9bf936009e5471a05657710f46 (diff)
downloadbcm5719-llvm-fd80f8385e60419c3e0ebc9a0693d857af7c7bdc.tar.gz
bcm5719-llvm-fd80f8385e60419c3e0ebc9a0693d857af7c7bdc.zip
Driver: support -fuse-ld= on cross windows
Update the linker selection to support the `-fuse-ld=` option for selecting a linker. llvm-svn: 251493
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/Driver/Tools.cpp3
-rwxr-xr-xclang/test/Driver/Inputs/Windows/ARM/8.1/usr/bin/ld.lld-link20
-rw-r--r--clang/test/Driver/windows-cross.c4
3 files changed, 5 insertions, 2 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index 44609aa4bda..1c6f86f8b5c 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/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<Command>(JA, *this, Exec, CmdArgs, Inputs));
}
diff --git a/clang/test/Driver/Inputs/Windows/ARM/8.1/usr/bin/ld.lld-link2 b/clang/test/Driver/Inputs/Windows/ARM/8.1/usr/bin/ld.lld-link2
new file mode 100755
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/clang/test/Driver/Inputs/Windows/ARM/8.1/usr/bin/ld.lld-link2
diff --git a/clang/test/Driver/windows-cross.c b/clang/test/Driver/windows-cross.c
index 979f68539c0..7bc9ac72b4a 100644
--- a/clang/test/Driver/windows-cross.c
+++ b/clang/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"
+
OpenPOWER on IntegriCloud