Lines Matching full:linux
1 //===--- Linux.h - Linux ToolChain Implementations --------------*- C++ -*-===//
9 #include "Linux.h"
41 std::string Linux::getMultiarchTriple(const Driver &D, in getMultiarchTriple()
57 // common linux triples that don't quite match the Clang triple for both in getMultiarchTriple()
63 return "arm-linux-androideabi"; in getMultiarchTriple()
67 return "arm-linux-gnueabihf"; in getMultiarchTriple()
68 return "arm-linux-gnueabi"; in getMultiarchTriple()
74 return "armeb-linux-gnueabihf"; in getMultiarchTriple()
75 return "armeb-linux-gnueabi"; in getMultiarchTriple()
78 return "i686-linux-android"; in getMultiarchTriple()
79 return "i386-linux-gnu"; in getMultiarchTriple()
82 return "x86_64-linux-android"; in getMultiarchTriple()
84 return "x86_64-linux-gnux32"; in getMultiarchTriple()
85 return "x86_64-linux-gnu"; in getMultiarchTriple()
88 return "aarch64-linux-android"; in getMultiarchTriple()
91 return "aarch64-linux-pauthtest"; in getMultiarchTriple()
92 return "aarch64-linux-gnu"; in getMultiarchTriple()
94 return "aarch64_be-linux-gnu"; in getMultiarchTriple()
126 return (Twine("loongarch64-linux-") + Libc + FPFlavor).str(); in getMultiarchTriple()
130 return "m68k-linux-gnu"; in getMultiarchTriple()
133 return IsMipsR6 ? "mipsisa32r6-linux-gnu" : "mips-linux-gnu"; in getMultiarchTriple()
135 return IsMipsR6 ? "mipsisa32r6el-linux-gnu" : "mipsel-linux-gnu"; in getMultiarchTriple()
138 "-linux-" + (IsMipsN32Abi ? "gnuabin32" : "gnuabi64"); in getMultiarchTriple()
141 if (D.getVFS().exists(concat(SysRoot, "/lib/mips64-linux-gnu"))) in getMultiarchTriple()
142 return "mips64-linux-gnu"; in getMultiarchTriple()
147 "-linux-" + (IsMipsN32Abi ? "gnuabin32" : "gnuabi64"); in getMultiarchTriple()
150 if (D.getVFS().exists(concat(SysRoot, "/lib/mips64el-linux-gnu"))) in getMultiarchTriple()
151 return "mips64el-linux-gnu"; in getMultiarchTriple()
155 if (D.getVFS().exists(concat(SysRoot, "/lib/powerpc-linux-gnuspe"))) in getMultiarchTriple()
156 return "powerpc-linux-gnuspe"; in getMultiarchTriple()
157 return "powerpc-linux-gnu"; in getMultiarchTriple()
159 return "powerpcle-linux-gnu"; in getMultiarchTriple()
161 return "powerpc64-linux-gnu"; in getMultiarchTriple()
163 return "powerpc64le-linux-gnu"; in getMultiarchTriple()
166 return "riscv64-linux-android"; in getMultiarchTriple()
167 return "riscv64-linux-gnu"; in getMultiarchTriple()
169 return "sparc-linux-gnu"; in getMultiarchTriple()
171 return "sparc64-linux-gnu"; in getMultiarchTriple()
173 return "s390x-linux-gnu"; in getMultiarchTriple()
219 Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) in Linux() function in Linux
354 ToolChain::RuntimeLibType Linux::GetDefaultRuntimeLibType() const { in GetDefaultRuntimeLibType()
360 unsigned Linux::GetDefaultDwarfVersion() const { in GetDefaultDwarfVersion()
366 ToolChain::CXXStdlibType Linux::GetDefaultCXXStdlibType() const { in GetDefaultCXXStdlibType()
372 bool Linux::HasNativeLLVMSupport() const { return true; } in HasNativeLLVMSupport()
374 Tool *Linux::buildLinker() const { return new tools::gnutools::Linker(*this); } in buildLinker()
376 Tool *Linux::buildStaticLibTool() const { in buildStaticLibTool()
380 Tool *Linux::buildAssembler() const { in buildAssembler()
384 std::string Linux::computeSysRoot() const { in computeSysRoot()
402 // $GCCToolchainPath/lib/gcc/csky-linux-gnuabiv2/6.3.0 in computeSysRoot()
403 // Path = $GCCToolchainPath/csky-linux-gnuabiv2/libc in computeSysRoot()
438 std::string Linux::getDynamicLinker(const ArgList &Args) const { in getDynamicLinker()
499 Loader = "ld-linux-aarch64.so.1"; in getDynamicLinker()
503 Loader = "ld-linux-aarch64_be.so.1"; in getDynamicLinker()
515 Loader = HF ? "ld-linux-armhf.so.3" : "ld-linux.so.3"; in getDynamicLinker()
521 ("ld-linux-loongarch-" + in getDynamicLinker()
529 ("ld-linux-loongarch-" + in getDynamicLinker()
553 Loader = IsNaN2008 ? "ld-linux-mipsn8.so.1" : "ld.so.1"; in getDynamicLinker()
580 Loader = ("ld-linux-" + ArchName + "-" + ABIName + ".so.1").str(); in getDynamicLinker()
586 Loader = "ld-linux.so.2"; in getDynamicLinker()
590 Loader = "ld-linux.so.2"; in getDynamicLinker()
598 Loader = "ld-linux.so.2"; in getDynamicLinker()
604 Loader = X32 ? "ld-linux-x32.so.2" : "ld-linux-x86-64.so.2"; in getDynamicLinker()
608 return "/opt/nec/ve/lib/ld-linux-ve.so.1"; in getDynamicLinker()
623 void Linux::AddClangSystemIncludeArgs(const ArgList &DriverArgs, in AddClangSystemIncludeArgs()
685 void Linux::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, in addLibStdCxxIncludePaths()
687 // We need a detected GCC installation on Linux to provide libstdc++'s in addLibStdCxxIncludePaths()
696 ? "i386-linux-gnu" in addLibStdCxxIncludePaths()
726 void Linux::AddCudaIncludeArgs(const ArgList &DriverArgs, in AddCudaIncludeArgs()
731 void Linux::AddHIPIncludeArgs(const ArgList &DriverArgs, in AddHIPIncludeArgs()
736 void Linux::AddHIPRuntimeLibArgs(const ArgList &Args, in AddHIPRuntimeLibArgs()
749 void Linux::AddIAMCUIncludeArgs(const ArgList &DriverArgs, in AddIAMCUIncludeArgs()
759 bool Linux::isPIEDefault(const llvm::opt::ArgList &Args) const { in isPIEDefault()
764 bool Linux::IsAArch64OutlineAtomicsDefault(const ArgList &Args) const { in IsAArch64OutlineAtomicsDefault()
777 bool Linux::IsMathErrnoDefault() const { in IsMathErrnoDefault()
783 SanitizerMask Linux::getSupportedSanitizers() const { in getSupportedSanitizers()
838 void Linux::addProfileRTLibs(const llvm::opt::ArgList &Args, in addProfileRTLibs()
848 void Linux::addExtraOpts(llvm::opt::ArgStringList &CmdArgs) const { in addExtraOpts()
853 const char *Linux::getDefaultLinker() const { in getDefaultLinker()