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