From 5f344fff089dd7685bd0013ef6f03b318819b334 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Thu, 1 Sep 2011 16:25:49 +0000 Subject: [PATCH] Fix PR10744 by adding the toolchain path to the regular program path and doing a simple search. Before we would manually check for the linker before the -B options were searched. llvm-svn: 138941 --- clang/lib/Driver/ToolChains.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/clang/lib/Driver/ToolChains.cpp b/clang/lib/Driver/ToolChains.cpp index f56ab4379a26..7b5183c10669 100644 --- a/clang/lib/Driver/ToolChains.cpp +++ b/clang/lib/Driver/ToolChains.cpp @@ -1617,11 +1617,12 @@ Linux::Linux(const HostInfo &Host, const llvm::Triple &Triple) Lib = Lib64; } - llvm::sys::Path LinkerPath(Base + "/../../../../" + GccTriple + "/bin/ld"); - if (!llvm::sys::fs::exists(LinkerPath.str(), Exists) && Exists) - Linker = LinkerPath.str(); - else - Linker = GetProgramPath("ld"); + // OpenSuse stores the linker with the compiler, add that to the search + // path. + ToolChain::path_list &PPaths = getProgramPaths(); + PPaths.push_back(Base + "/../../../../" + GccTriple + "/bin"); + + Linker = GetProgramPath("ld"); LinuxDistro Distro = DetectLinuxDistro(Arch);