diff options
Diffstat (limited to 'main/llvm/clang-0006-musl-alpine-triple.patch')
-rw-r--r-- | main/llvm/clang-0006-musl-alpine-triple.patch | 181 |
1 files changed, 179 insertions, 2 deletions
diff --git a/main/llvm/clang-0006-musl-alpine-triple.patch b/main/llvm/clang-0006-musl-alpine-triple.patch index 96a748f742..8d8842fdd4 100644 --- a/main/llvm/clang-0006-musl-alpine-triple.patch +++ b/main/llvm/clang-0006-musl-alpine-triple.patch @@ -8,8 +8,8 @@ index 6007a98..44e929f 100644 static const char *const ARMHFTriples[] = { "arm-linux-gnueabihf", - "armv7hl-redhat-linux-gnueabi" }; + "armv7hl-redhat-linux-gnueabi", -+ "armv6-alpine-linux-musleabihf", -+ "armv7-alpine-linux-musleabihf"}; ++ "armv6-alpine-linux-muslgnueabihf", ++ "armv7-alpine-linux-muslgnueabihf"}; static const char *const ARMebLibDirs[] = { "/lib" }; static const char *const ARMebTriples[] = { "armeb-linux-gnueabi", "armeb-linux-androideabi" }; @@ -34,5 +34,182 @@ index 6007a98..44e929f 100644 }; static const char *const MIPSLibDirs[] = { "/lib" }; +--- a/lib/Basic/Targets.cpp ++++ b/lib/Basic/Targets.cpp +@@ -3933,6 +3933,8 @@ + case llvm::Triple::Android: + case llvm::Triple::GNUEABI: + case llvm::Triple::GNUEABIHF: ++ case llvm::Triple::MuslEABI: ++ case llvm::Triple::MuslEABIHF: + setABI("aapcs-linux"); + break; + case llvm::Triple::EABIHF: +--- a/lib/CodeGen/TargetInfo.cpp ++++ b/lib/CodeGen/TargetInfo.cpp +@@ -4344,6 +4344,8 @@ + case llvm::Triple::EABIHF: + case llvm::Triple::GNUEABI: + case llvm::Triple::GNUEABIHF: ++ case llvm::Triple::MuslEABI: ++ case llvm::Triple::MuslEABIHF: + return true; + default: + return false; +@@ -4354,6 +4356,7 @@ + switch (getTarget().getTriple().getEnvironment()) { + case llvm::Triple::EABIHF: + case llvm::Triple::GNUEABIHF: ++ case llvm::Triple::MuslEABIHF: + return true; + default: + return false; +@@ -7107,7 +7110,8 @@ + Kind = ARMABIInfo::APCS; + else if (CodeGenOpts.FloatABI == "hard" || + (CodeGenOpts.FloatABI != "soft" && +- Triple.getEnvironment() == llvm::Triple::GNUEABIHF)) ++ (Triple.getEnvironment() == llvm::Triple::GNUEABIHF || ++ Triple.getEnvironment() == llvm::Triple::MuslEABIHF))) + Kind = ARMABIInfo::AAPCS_VFP; + + switch (Triple.getOS()) { +--- a/lib/Driver/ToolChains.cpp ++++ b/lib/Driver/ToolChains.cpp +@@ -1393,7 +1393,8 @@ + case llvm::Triple::arm: + case llvm::Triple::thumb: + LibDirs.append(begin(ARMLibDirs), end(ARMLibDirs)); +- if (TargetTriple.getEnvironment() == llvm::Triple::GNUEABIHF) { ++ if (TargetTriple.getEnvironment() == llvm::Triple::GNUEABIHF || ++ TargetTriple.getEnvironment() == llvm::Triple::MuslEABIHF) { + TripleAliases.append(begin(ARMHFTriples), end(ARMHFTriples)); + } else { + TripleAliases.append(begin(ARMTriples), end(ARMTriples)); +@@ -1402,7 +1403,8 @@ + case llvm::Triple::armeb: + case llvm::Triple::thumbeb: + LibDirs.append(begin(ARMebLibDirs), end(ARMebLibDirs)); +- if (TargetTriple.getEnvironment() == llvm::Triple::GNUEABIHF) { ++ if (TargetTriple.getEnvironment() == llvm::Triple::GNUEABIHF || ++ TargetTriple.getEnvironment() == llvm::Triple::MuslEABIHF) { + TripleAliases.append(begin(ARMebHFTriples), end(ARMebHFTriples)); + } else { + TripleAliases.append(begin(ARMebTriples), end(ARMebTriples)); +@@ -2502,6 +2504,8 @@ + switch (getTriple().getEnvironment()) { + case llvm::Triple::GNUEABIHF: + case llvm::Triple::GNUEABI: ++ case llvm::Triple::MuslEABIHF: ++ case llvm::Triple::MuslEABI: + case llvm::Triple::EABI: + return false; + +@@ -2541,10 +2545,12 @@ + switch (Triple.getEnvironment()) { + case llvm::Triple::EABI: + case llvm::Triple::GNUEABI: ++ case llvm::Triple::MuslEABI: + getFilePaths().push_back("=/usr/lib/eabi"); + break; + case llvm::Triple::EABIHF: + case llvm::Triple::GNUEABIHF: ++ case llvm::Triple::MuslEABIHF: + getFilePaths().push_back("=/usr/lib/eabihf"); + break; + default: +@@ -2815,7 +2821,8 @@ + // regardless of what the actual target triple is. + case llvm::Triple::arm: + case llvm::Triple::thumb: +- if (TargetTriple.getEnvironment() == llvm::Triple::GNUEABIHF) { ++ if (TargetTriple.getEnvironment() == llvm::Triple::GNUEABIHF || ++ TargetTriple.getEnvironment() == llvm::Triple::MuslEABIHF) { + if (llvm::sys::fs::exists(SysRoot + "/lib/arm-linux-gnueabihf")) + return "arm-linux-gnueabihf"; + } else { +@@ -2825,7 +2832,8 @@ + return TargetTriple.str(); + case llvm::Triple::armeb: + case llvm::Triple::thumbeb: +- if (TargetTriple.getEnvironment() == llvm::Triple::GNUEABIHF) { ++ if (TargetTriple.getEnvironment() == llvm::Triple::GNUEABIHF || ++ TargetTriple.getEnvironment() == llvm::Triple::MuslEABIHF) { + if (llvm::sys::fs::exists(SysRoot + "/lib/armeb-linux-gnueabihf")) + return "armeb-linux-gnueabihf"; + } else { +@@ -3246,7 +3254,8 @@ + getTriple().getArch() == llvm::Triple::aarch64_be) { + MultiarchIncludeDirs = AArch64MultiarchIncludeDirs; + } else if (getTriple().getArch() == llvm::Triple::arm) { +- if (getTriple().getEnvironment() == llvm::Triple::GNUEABIHF) ++ if (getTriple().getEnvironment() == llvm::Triple::GNUEABIHF || ++ getTriple().getEnvironment() == llvm::Triple::MuslEABIHF) + MultiarchIncludeDirs = ARMHFMultiarchIncludeDirs; + else + MultiarchIncludeDirs = ARMMultiarchIncludeDirs; +--- a/lib/Driver/Tools.cpp ++++ b/lib/Driver/Tools.cpp +@@ -656,6 +656,7 @@ + case llvm::Triple::FreeBSD: + switch(Triple.getEnvironment()) { + case llvm::Triple::GNUEABIHF: ++ case llvm::Triple::MuslEABIHF: + FloatABI = "hard"; + break; + default: +@@ -668,6 +669,7 @@ + default: + switch(Triple.getEnvironment()) { + case llvm::Triple::GNUEABIHF: ++ case llvm::Triple::MuslEABIHF: + FloatABI = "hard"; + break; + case llvm::Triple::GNUEABI: +@@ -789,6 +791,8 @@ + case llvm::Triple::Android: + case llvm::Triple::GNUEABI: + case llvm::Triple::GNUEABIHF: ++ case llvm::Triple::MuslEABI: ++ case llvm::Triple::MuslEABIHF: + ABIName = "aapcs-linux"; + break; + case llvm::Triple::EABIHF: +@@ -6561,6 +6565,8 @@ + switch(getToolChain().getTriple().getEnvironment()) { + case llvm::Triple::GNUEABIHF: + case llvm::Triple::GNUEABI: ++ case llvm::Triple::MuslEABIHF: ++ case llvm::Triple::MuslEABI: + case llvm::Triple::EABI: + CmdArgs.push_back("-meabi=5"); + break; +@@ -6888,10 +6894,12 @@ + switch (getToolChain().getTriple().getEnvironment()) { + case llvm::Triple::EABI: + case llvm::Triple::GNUEABI: ++ case llvm::Triple::MuslEABI: + CmdArgs.push_back("armelf_nbsd_eabi"); + break; + case llvm::Triple::EABIHF: + case llvm::Triple::GNUEABIHF: ++ case llvm::Triple::MuslEABIHF: + CmdArgs.push_back("armelf_nbsd_eabihf"); + break; + default: +@@ -6906,10 +6914,12 @@ + switch (getToolChain().getTriple().getEnvironment()) { + case llvm::Triple::EABI: + case llvm::Triple::GNUEABI: ++ case llvm::Triple::MuslEABI: + CmdArgs.push_back("armelfb_nbsd_eabi"); + break; + case llvm::Triple::EABIHF: + case llvm::Triple::GNUEABIHF: ++ case llvm::Triple::MuslEABIHF: + CmdArgs.push_back("armelfb_nbsd_eabihf"); + break; + default: + -- 2.1.4 |