haowei created this revision. haowei added reviewers: mcgrathr, phosek. Herald added a subscriber: abidh. Herald added a project: All. haowei requested review of this revision. Herald added subscribers: cfe-commits, MaskRay. Herald added a project: clang.
This patch enables response file support when using lld on baremetal targets Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D148383 Files: clang/lib/Driver/ToolChains/BareMetal.cpp Index: clang/lib/Driver/ToolChains/BareMetal.cpp =================================================================== --- clang/lib/Driver/ToolChains/BareMetal.cpp +++ clang/lib/Driver/ToolChains/BareMetal.cpp @@ -345,7 +345,14 @@ CmdArgs.push_back("-o"); CmdArgs.push_back(Output.getFilename()); - C.addCommand(std::make_unique<Command>(JA, *this, ResponseFileSupport::None(), + const char *Linker = Args.MakeArgString(TC.GetLinkerPath()); + ResponseFileSupport LinkerResponseFileSupport = ResponseFileSupport::AtFileCurCP(); + if (llvm::sys::path::filename(Linker) != "ld.lld" && + llvm::sys::path::stem(Linker) != "ld.lld") { + LinkerResponseFileSupport = ResponseFileSupport::None(); + } + + C.addCommand(std::make_unique<Command>(JA, *this, LinkerResponseFileSupport, Args.MakeArgString(TC.GetLinkerPath()), CmdArgs, Inputs, Output)); }
Index: clang/lib/Driver/ToolChains/BareMetal.cpp =================================================================== --- clang/lib/Driver/ToolChains/BareMetal.cpp +++ clang/lib/Driver/ToolChains/BareMetal.cpp @@ -345,7 +345,14 @@ CmdArgs.push_back("-o"); CmdArgs.push_back(Output.getFilename()); - C.addCommand(std::make_unique<Command>(JA, *this, ResponseFileSupport::None(), + const char *Linker = Args.MakeArgString(TC.GetLinkerPath()); + ResponseFileSupport LinkerResponseFileSupport = ResponseFileSupport::AtFileCurCP(); + if (llvm::sys::path::filename(Linker) != "ld.lld" && + llvm::sys::path::stem(Linker) != "ld.lld") { + LinkerResponseFileSupport = ResponseFileSupport::None(); + } + + C.addCommand(std::make_unique<Command>(JA, *this, LinkerResponseFileSupport, Args.MakeArgString(TC.GetLinkerPath()), CmdArgs, Inputs, Output)); }
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits