Index: lib/Driver/Driver.cpp =================================================================== --- lib/Driver/Driver.cpp +++ lib/Driver/Driver.cpp @@ -1857,6 +1857,14 @@ if (llvm::sys::fs::exists(Twine(P))) return P.str(); + P = ResourceDir; + // TC.getOSName() yields "freebsd10.0" whereas "freebsd" is expected. + StringRef OSLibName = (TC.getTriple().getOS() == llvm::Triple::FreeBSD) + ? "freebsd" : TC.getTriple().getOSName(); + llvm::sys::path::append(P, "lib", OSLibName, Name); + if (llvm::sys::fs::exists(Twine(P))) + return P.str(); + const ToolChain::path_list &List = TC.getFilePaths(); for (ToolChain::path_list::const_iterator it = List.begin(), ie = List.end(); it != ie; ++it) {