aboutsummaryrefslogtreecommitdiffstats
path: root/main/llvm/llvm-0002-musl-triple.patch
diff options
context:
space:
mode:
authorTravis Tilley <ttilley@gmail.com>2015-05-21 12:41:30 -0400
committerNatanael Copa <ncopa@alpinelinux.org>2015-05-22 13:09:01 +0000
commit81d1b43c5af39e14cb91232c4afcb7839b96f5a1 (patch)
tree01d279a6a2c6859074d4b3045f851c2e36de13db /main/llvm/llvm-0002-musl-triple.patch
parent386a214b3a1b7586e4d37b94ae84d6830e159f52 (diff)
downloadaports-81d1b43c5af39e14cb91232c4afcb7839b96f5a1.tar.bz2
aports-81d1b43c5af39e14cb91232c4afcb7839b96f5a1.tar.xz
main/llvm: update patchset, switch to cmake, perform two-stage build with a minimal bootstrap compile of clang, add clang extras, update package list to split out clang documentation
Diffstat (limited to 'main/llvm/llvm-0002-musl-triple.patch')
-rw-r--r--main/llvm/llvm-0002-musl-triple.patch90
1 files changed, 90 insertions, 0 deletions
diff --git a/main/llvm/llvm-0002-musl-triple.patch b/main/llvm/llvm-0002-musl-triple.patch
new file mode 100644
index 0000000000..1be21a72c7
--- /dev/null
+++ b/main/llvm/llvm-0002-musl-triple.patch
@@ -0,0 +1,90 @@
+From b8a0587b17b6c58973bf5463096538a37cc516a5 Mon Sep 17 00:00:00 2001
+From: Travis Tilley <ttilley@gmail.com>
+Date: Tue, 28 Apr 2015 20:22:40 -0400
+Subject: [PATCH 2/3] musl triple
+
+---
+ include/llvm/ADT/Triple.h | 4 ++++
+ lib/Support/Triple.cpp | 6 ++++++
+ lib/Target/ARM/ARMSubtarget.h | 3 +++
+ lib/Target/ARM/ARMTargetMachine.cpp | 2 ++
+ 4 files changed, 15 insertions(+)
+
+diff --git a/include/llvm/ADT/Triple.h b/include/llvm/ADT/Triple.h
+index 8a68599..072623c 100644
+--- a/include/llvm/ADT/Triple.h
++++ b/include/llvm/ADT/Triple.h
+@@ -154,6 +154,10 @@ public:
+ EABIHF,
+ Android,
+
++ Musl,
++ MuslEABI,
++ MuslEABIHF,
++
+ MSVC,
+ Itanium,
+ Cygnus,
+diff --git a/lib/Support/Triple.cpp b/lib/Support/Triple.cpp
+index 0838e90..4be78e5 100644
+--- a/lib/Support/Triple.cpp
++++ b/lib/Support/Triple.cpp
+@@ -175,6 +175,9 @@ const char *Triple::getEnvironmentTypeName(EnvironmentType Kind) {
+ case CODE16: return "code16";
+ case EABI: return "eabi";
+ case EABIHF: return "eabihf";
++ case Musl: return "musl";
++ case MuslEABIHF: return "musleabihf";
++ case MuslEABI: return "musleabi";
+ case Android: return "android";
+ case MSVC: return "msvc";
+ case Itanium: return "itanium";
+@@ -375,6 +378,9 @@ static Triple::EnvironmentType parseEnvironment(StringRef EnvironmentName) {
+ .StartsWith("code16", Triple::CODE16)
+ .StartsWith("gnu", Triple::GNU)
+ .StartsWith("android", Triple::Android)
++ .StartsWith("musleabihf", Triple::MuslEABIHF)
++ .StartsWith("musleabi", Triple::MuslEABI)
++ .StartsWith("musl", Triple::Musl)
+ .StartsWith("msvc", Triple::MSVC)
+ .StartsWith("itanium", Triple::Itanium)
+ .StartsWith("cygnus", Triple::Cygnus)
+diff --git a/lib/Target/ARM/ARMSubtarget.h b/lib/Target/ARM/ARMSubtarget.h
+index dbacd4d..b330be5 100644
+--- a/lib/Target/ARM/ARMSubtarget.h
++++ b/lib/Target/ARM/ARMSubtarget.h
+@@ -369,8 +369,10 @@ public:
+ 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();
+ }
+@@ -379,6 +381,7 @@ public:
+ // FIXME: this is invalid for WindowsCE
+ return TargetTriple.getEnvironment() == Triple::GNUEABIHF ||
+ TargetTriple.getEnvironment() == Triple::EABIHF ||
++ TargetTriple.getEnvironment() == Triple::MuslEABIHF ||
+ isTargetWindows();
+ }
+ bool isTargetAndroid() const {
+diff --git a/lib/Target/ARM/ARMTargetMachine.cpp b/lib/Target/ARM/ARMTargetMachine.cpp
+index 7a8181b..ce5ceb9 100644
+--- a/lib/Target/ARM/ARMTargetMachine.cpp
++++ b/lib/Target/ARM/ARMTargetMachine.cpp
+@@ -87,6 +87,8 @@ computeTargetABI(const Triple &TT, StringRef CPU,
+ case llvm::Triple::GNUEABIHF:
+ case llvm::Triple::EABIHF:
+ case llvm::Triple::EABI:
++ case llvm::Triple::MuslEABI:
++ case llvm::Triple::MuslEABIHF:
+ TargetABI = ARMBaseTargetMachine::ARM_ABI_AAPCS;
+ break;
+ case llvm::Triple::GNU:
+--
+2.1.4
+