aboutsummaryrefslogtreecommitdiffstats
path: root/main/llvm/llvm-alpine-linux.patch
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2014-11-13 13:40:34 +0000
committerTimo Teräs <timo.teras@iki.fi>2014-11-13 13:52:05 +0000
commitf95a56c2ad66395f66fb9b3de3c0ce93745c7389 (patch)
treea83fbf41765a23493793301f64f079ab69d24a56 /main/llvm/llvm-alpine-linux.patch
parent6459fcd753a1485e5bde53b26d80a0faefed61fb (diff)
downloadaports-f95a56c2ad66395f66fb9b3de3c0ce93745c7389.tar.bz2
aports-f95a56c2ad66395f66fb9b3de3c0ce93745c7389.tar.xz
main/llvm: upgrade to 3.5.0
Diffstat (limited to 'main/llvm/llvm-alpine-linux.patch')
-rw-r--r--main/llvm/llvm-alpine-linux.patch180
1 files changed, 113 insertions, 67 deletions
diff --git a/main/llvm/llvm-alpine-linux.patch b/main/llvm/llvm-alpine-linux.patch
index 8bef4b1777..d096916731 100644
--- a/main/llvm/llvm-alpine-linux.patch
+++ b/main/llvm/llvm-alpine-linux.patch
@@ -1,69 +1,102 @@
---- a/include/llvm/ADT/Triple.h
-+++ b/include/llvm/ADT/Triple.h
-@@ -117,7 +117,10 @@
- EABI,
- MachO,
+diff -ru llvm-3.5.0.src.orig/include/llvm/ADT/Triple.h llvm-3.5.0.src/include/llvm/ADT/Triple.h
+--- llvm-3.5.0.src.orig/include/llvm/ADT/Triple.h 2014-07-18 17:28:19.000000000 -0300
++++ llvm-3.5.0.src/include/llvm/ADT/Triple.h 2014-11-12 14:44:41.738448045 -0200
+@@ -149,6 +149,10 @@
+ EABIHF,
Android,
-- ELF
-+ ELF,
+
+ Musl,
+ MuslEABI,
-+ MuslEABIHF
- };
-
- private:
---- a/lib/Support/Triple.cpp.orig
-+++ b/lib/Support/Triple.cpp
-@@ -153,6 +153,9 @@ const char *Triple::getEnvironmentTypeName(EnvironmentType Kind) {
- case MachO: return "macho";
- case Android: return "android";
- case ELF: return "elf";
++ MuslEABIHF,
++
+ MSVC,
+ Itanium,
+ Cygnus,
+Only in llvm-3.5.0.src/include/llvm/ADT: Triple.h.orig
+diff -ru llvm-3.5.0.src.orig/lib/Support/Triple.cpp llvm-3.5.0.src/lib/Support/Triple.cpp
+--- llvm-3.5.0.src.orig/lib/Support/Triple.cpp 2014-07-18 17:28:19.000000000 -0300
++++ llvm-3.5.0.src/lib/Support/Triple.cpp 2014-11-12 14:47:06.565122146 -0200
+@@ -168,6 +168,9 @@
+ case CODE16: return "code16";
+ case EABI: return "eabi";
+ case EABIHF: return "eabihf";
+ case Musl: return "musl";
-+ case MuslEABI: return "muslgnueabi";
-+ case MuslEABIHF: return "muslgnueabihf";
- }
-
- llvm_unreachable("Invalid EnvironmentType!");
-@@ -305,6 +308,9 @@ static Triple::EnvironmentType parseEnvironment(StringRef EnvironmentName) {
- .StartsWith("macho", Triple::MachO)
- .StartsWith("android", Triple::Android)
- .StartsWith("elf", Triple::ELF)
-+ .StartsWith("muslgnueabihf", Triple::MuslEABIHF)
-+ .StartsWith("muslgnueabi", Triple::MuslEABI)
++ case MuslEABI: return "musleabi";
++ case MuslEABIHF: return "musleabihf";
+ case Android: return "android";
+ case MSVC: return "msvc";
+ case Itanium: return "itanium";
+@@ -344,6 +347,9 @@
+ .StartsWith("gnux32", Triple::GNUX32)
+ .StartsWith("code16", Triple::CODE16)
+ .StartsWith("gnu", Triple::GNU)
+ .StartsWith("musl", Triple::Musl)
- .Default(Triple::UnknownEnvironment);
- }
-
---- a/tools/clang/lib/Driver/ToolChains.cpp
-+++ b/tools/clang/lib/Driver/ToolChains.cpp
-@@ -1118,20 +1118,23 @@ void Generic_GCC::GCCInstallationDetector::print(raw_ostream &OS) const {
++ .StartsWith("musleabi", Triple::MuslEABI)
++ .StartsWith("musleabihf", Triple::MuslEABIHF)
+ .StartsWith("android", Triple::Android)
+ .StartsWith("msvc", Triple::MSVC)
+ .StartsWith("itanium", Triple::Itanium)
+Only in llvm-3.5.0.src/lib/Support: Triple.cpp.orig
+diff -ru llvm-3.5.0.src.orig/lib/Target/ARM/ARMSubtarget.cpp llvm-3.5.0.src/lib/Target/ARM/ARMSubtarget.cpp
+--- llvm-3.5.0.src.orig/lib/Target/ARM/ARMSubtarget.cpp 2014-07-16 23:13:31.000000000 -0300
++++ llvm-3.5.0.src/lib/Target/ARM/ARMSubtarget.cpp 2014-11-12 14:50:40.025133104 -0200
+@@ -273,6 +273,8 @@
+ case Triple::EABIHF:
+ case Triple::GNUEABI:
+ case Triple::GNUEABIHF:
++ case Triple::MuslEABI:
++ case Triple::MuslEABIHF:
+ TargetABI = ARM_ABI_AAPCS;
+ break;
+ default:
+diff -ru llvm-3.5.0.src.orig/lib/Target/ARM/ARMSubtarget.h llvm-3.5.0.src/lib/Target/ARM/ARMSubtarget.h
+--- llvm-3.5.0.src.orig/lib/Target/ARM/ARMSubtarget.h 2014-07-16 23:13:31.000000000 -0300
++++ llvm-3.5.0.src/lib/Target/ARM/ARMSubtarget.h 2014-11-12 14:53:36.571808822 -0200
+@@ -372,8 +372,10 @@
+ bool isTargetEHABICompatible() const {
+ return (TargetTriple.getEnvironment() == Triple::EABI ||
+ TargetTriple.getEnvironment() == Triple::GNUEABI ||
++ TargetTriple.getEnvironment() == Triple::MuslEABI ||
+ TargetTriple.getEnvironment() == Triple::EABIHF ||
+ TargetTriple.getEnvironment() == Triple::GNUEABIHF ||
++ TargetTriple.getEnvironment() == Triple::MuslEABIHF ||
+ TargetTriple.getEnvironment() == Triple::Android) &&
+ !isTargetDarwin() && !isTargetWindows();
+ }
+diff -ru llvm-3.5.0.src.orig/tools/clang/lib/Driver/ToolChains.cpp llvm-3.5.0.src/tools/clang/lib/Driver/ToolChains.cpp
+--- llvm-3.5.0.src.orig/tools/clang/lib/Driver/ToolChains.cpp 2014-08-27 23:07:31.000000000 -0300
++++ llvm-3.5.0.src/tools/clang/lib/Driver/ToolChains.cpp 2014-11-12 15:09:14.805190323 -0200
+@@ -1324,7 +1324,9 @@
static const char *const ARMTriples[] = { "arm-linux-gnueabi",
"arm-linux-androideabi" };
static const char *const ARMHFTriples[] = { "arm-linux-gnueabihf",
- "armv7hl-redhat-linux-gnueabi" };
+ "armv7hl-redhat-linux-gnueabi",
-+ "armv6-alpine-linux-muslgnueabihf",
-+ "armv7-alpine-linux-muslgnueabihf" };
-
- static const char *const X86_64LibDirs[] = { "/lib64", "/lib" };
- static const char *const X86_64Triples[] = {
++ "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" };
+@@ -1336,7 +1338,7 @@
"x86_64-linux-gnu", "x86_64-unknown-linux-gnu", "x86_64-pc-linux-gnu",
"x86_64-redhat-linux6E", "x86_64-redhat-linux", "x86_64-suse-linux",
-- "x86_64-manbo-linux-gnu", "x86_64-linux-gnu", "x86_64-slackware-linux"
-+ "x86_64-manbo-linux-gnu", "x86_64-linux-gnu", "x86_64-slackware-linux",
-+ "x86_64-alpine-linux-musl"
+ "x86_64-manbo-linux-gnu", "x86_64-linux-gnu", "x86_64-slackware-linux",
+- "x86_64-linux-android", "x86_64-unknown-linux"
++ "x86_64-linux-android", "x86_64-alpine-linux-musl", "x86_64-unknown-linux"
};
+ static const char *const X32LibDirs[] = { "/libx32" };
static const char *const X86LibDirs[] = { "/lib32", "/lib" };
- static const char *const X86Triples[] = {
+@@ -1344,7 +1346,8 @@
"i686-linux-gnu", "i686-pc-linux-gnu", "i486-linux-gnu", "i386-linux-gnu",
"i386-redhat-linux6E", "i686-redhat-linux", "i586-redhat-linux",
"i386-redhat-linux", "i586-suse-linux", "i486-slackware-linux",
-- "i686-montavista-linux"
-+ "i686-montavista-linux", "i486-alpine-linux-musl"
+- "i686-montavista-linux", "i686-linux-android", "i586-linux-gnu"
++ "i686-montavista-linux", "i686-linux-android", "i586-linux-gnu",
++ "i486-alpine-linux-musl"
};
static const char *const MIPSLibDirs[] = { "/lib" };
-@@ -2166,6 +2169,7 @@ Tool *Solaris::buildLinker() const {
+@@ -2777,6 +2780,7 @@
/// Distribution (very bare-bones at the moment).
enum Distro {
@@ -71,7 +104,7 @@
ArchLinux,
DebianLenny,
DebianSqueeze,
-@@ -2276,6 +2280,9 @@ static Distro DetectDistro(llvm::Triple::ArchType Arch) {
+@@ -2888,6 +2892,9 @@
if (llvm::sys::fs::exists("/etc/arch-release"))
return ArchLinux;
@@ -81,24 +114,37 @@
return UnknownDistro;
}
---- a/tools/clang/lib/Driver/Tools.cpp
-+++ b/tools/clang/lib/Driver/Tools.cpp
-@@ -6355,16 +6355,28 @@ static StringRef getLinuxDynamicLinker(const ArgList &Args,
- const toolchains::Linux &ToolChain) {
- if (ToolChain.getTriple().getEnvironment() == llvm::Triple::Android)
- return "/system/bin/linker";
-- else if (ToolChain.getArch() == llvm::Triple::x86)
-- return "/lib/ld-linux.so.2";
-- else if (ToolChain.getArch() == llvm::Triple::aarch64)
-+ else if (ToolChain.getArch() == llvm::Triple::x86) {
+@@ -3042,7 +3049,7 @@
+
+ Distro Distro = DetectDistro(Arch);
+
+- if (IsOpenSUSE(Distro) || IsUbuntu(Distro)) {
++ if (IsOpenSUSE(Distro) || IsUbuntu(Distro) || Distro == AlpineLinux) {
+ ExtraOpts.push_back("-z");
+ ExtraOpts.push_back("relro");
+ }
+diff -ru llvm-3.5.0.src.orig/tools/clang/lib/Driver/Tools.cpp llvm-3.5.0.src/tools/clang/lib/Driver/Tools.cpp
+--- llvm-3.5.0.src.orig/tools/clang/lib/Driver/Tools.cpp 2014-08-07 07:51:51.000000000 -0300
++++ llvm-3.5.0.src/tools/clang/lib/Driver/Tools.cpp 2014-11-12 15:11:31.901864030 -0200
+@@ -7182,8 +7182,14 @@
+ return "/system/bin/linker64";
+ else
+ return "/system/bin/linker";
+- } else if (ToolChain.getArch() == llvm::Triple::x86 ||
+- ToolChain.getArch() == llvm::Triple::sparc)
++ } else if (ToolChain.getArch() == llvm::Triple::x86) {
+ switch (ToolChain.getTriple().getEnvironment()) {
+ case llvm::Triple::Musl:
+ return "/lib/ld-musl-i386.so.1";
+ default:
+ return "/lib/ld-linux.so.2";
+ }
-+ } else if (ToolChain.getArch() == llvm::Triple::aarch64)
- return "/lib/ld-linux-aarch64.so.1";
++ } else if (ToolChain.getArch() == llvm::Triple::sparc)
+ return "/lib/ld-linux.so.2";
+ else if (ToolChain.getArch() == llvm::Triple::aarch64 ||
+ ToolChain.getArch() == llvm::Triple::arm64)
+@@ -7193,10 +7199,17 @@
+ return "/lib/ld-linux-aarch64_be.so.1";
else if (ToolChain.getArch() == llvm::Triple::arm ||
ToolChain.getArch() == llvm::Triple::thumb) {
- if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF)
@@ -114,13 +160,13 @@
+ default:
return "/lib/ld-linux.so.3";
+ }
- } else if (ToolChain.getArch() == llvm::Triple::mips ||
- ToolChain.getArch() == llvm::Triple::mipsel)
- return "/lib/ld.so.1";
-@@ -6380,8 +6392,14 @@ static StringRef getLinuxDynamicLinker(const ArgList &Args,
- ToolChain.getArch() == llvm::Triple::ppc64le ||
- ToolChain.getArch() == llvm::Triple::systemz)
- return "/lib64/ld64.so.1";
+ } else if (ToolChain.getArch() == llvm::Triple::armeb ||
+ ToolChain.getArch() == llvm::Triple::thumbeb) {
+ if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF)
+@@ -7227,8 +7240,14 @@
+ else if (ToolChain.getArch() == llvm::Triple::x86_64 &&
+ ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUX32)
+ return "/libx32/ld-linux-x32.so.2";
- else
- return "/lib64/ld-linux-x86-64.so.2";
+ else {
@@ -133,4 +179,4 @@
+ }
}
- void gnutools::Link::ConstructJob(Compilation &C, const JobAction &JA,
+ static void AddRunTimeLibs(const ToolChain &TC, const Driver &D,