================ @@ -331,6 +333,32 @@ BareMetal::OrderedMultilibs BareMetal::getOrderedMultilibs() const { return llvm::reverse(Default); } +ToolChain::CXXStdlibType BareMetal::GetDefaultCXXStdlibType() const { + if (getTriple().isRISCV() && GCCInstallation.isValid()) + return ToolChain::CST_Libstdcxx; + return ToolChain::CST_Libcxx; +} + +ToolChain::RuntimeLibType BareMetal::GetDefaultRuntimeLibType() const { + if (getTriple().isRISCV() && GCCInstallation.isValid()) + return ToolChain::RLT_Libgcc; + return ToolChain::RLT_CompilerRT; +} + +ToolChain::UnwindLibType +BareMetal::GetUnwindLibType(const llvm::opt::ArgList &Args) const { + if (getTriple().isRISCV()) + return ToolChain::UNW_None; + + return ToolChain::GetUnwindLibType(Args); +} + +const char *BareMetal::getDefaultLinker() const { + if (isUsingLD()) ---------------- MaskRay wrote:
this ld/ld.lld selection feels very odd. Ideally we just stick with one `ld`. If a user prefers `ld.lld`, customize this preference in Clang configuration file. The shared C++ code trying to appease some sets of users could easily end up with something with unprecdictable behavior, which offers worse user experience for the other set of users. https://github.com/llvm/llvm-project/pull/121830 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits