diff --git a/flang-legacy/17.0-4/llvm-legacy/clang/lib/Driver/ToolChains/CommonArgs.cpp b/flang-legacy/17.0-4/llvm-legacy/clang/lib/Driver/ToolChains/CommonArgs.cpp index 9f12edd1f..f4a72ac26 100644 --- a/flang-legacy/17.0-4/llvm-legacy/clang/lib/Driver/ToolChains/CommonArgs.cpp +++ b/flang-legacy/17.0-4/llvm-legacy/clang/lib/Driver/ToolChains/CommonArgs.cpp @@ -949,8 +949,16 @@ void tools::addOpenMPRuntimeSpecificRPath(const ToolChain &TC, SmallString<256> DefaultLibPath = llvm::sys::path::parent_path(TC.getDriver().Dir); llvm::sys::path::append(DefaultLibPath, CLANG_INSTALL_LIBDIR_BASENAME); + if (TC.getSanitizerArgs(Args).needsAsanRt()) { + CmdArgs.push_back("-rpath"); + CmdArgs.push_back(Args.MakeArgString(TC.getCompilerRTPath())); + } CmdArgs.push_back("-rpath"); CmdArgs.push_back(Args.MakeArgString(CandidateRPath.c_str())); + if (llvm::find_if(CmdArgs, [](StringRef str) { + return !str.compare("--enable-new-dtags"); + }) == CmdArgs.end()) + CmdArgs.push_back("--disable-new-dtags"); } } diff --git a/flang-legacy/17.0-4/llvm-legacy/clang/lib/Driver/ToolChains/Gnu.cpp b/flang-legacy/17.0-4/llvm-legacy/clang/lib/Driver/ToolChains/Gnu.cpp index 323afb886..f768ed6b2 100644 --- a/flang-legacy/17.0-4/llvm-legacy/clang/lib/Driver/ToolChains/Gnu.cpp +++ b/flang-legacy/17.0-4/llvm-legacy/clang/lib/Driver/ToolChains/Gnu.cpp @@ -568,8 +568,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, // Add Fortran runtime libraries if (needFortranLibs(D, Args)) { ToolChain.AddFortranStdlibLibArgs(Args, CmdArgs); - CmdArgs.push_back("-rpath"); - CmdArgs.push_back(Args.MakeArgString(D.Dir + "/../lib")); } else { // Claim "no Flang libraries" arguments if any for (auto Arg : Args.filtered(options::OPT_noFlangLibs)) {