aboutsummaryrefslogtreecommitdiffstats
path: root/main/llvm
diff options
context:
space:
mode:
Diffstat (limited to 'main/llvm')
-rw-r--r--main/llvm/APKBUILD30
-rw-r--r--main/llvm/llvm-3.3-alpine-linux.patch (renamed from main/llvm/llvm-3.2-alpine-linux.patch)62
2 files changed, 49 insertions, 43 deletions
diff --git a/main/llvm/APKBUILD b/main/llvm/APKBUILD
index da56c5085a..65a8bc0cf0 100644
--- a/main/llvm/APKBUILD
+++ b/main/llvm/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=llvm
-pkgver=3.2
-pkgrel=4
+pkgver=3.3
+pkgrel=0
pkgdesc="low level virtual machine compiler system"
arch="x86 x86_64"
url="http://llvm.org/"
@@ -13,8 +13,8 @@ makedepends="$depends_dev groff libffi-dev python chrpath"
install=
subpackages="clang $pkgname-dev $pkgname-doc $pkgname-libs"
source="http://llvm.org/releases/$pkgver/llvm-$pkgver.src.tar.gz
- http://llvm.org/releases/$pkgver/clang-$pkgver.src.tar.gz
- llvm-3.2-alpine-linux.patch
+ http://llvm.org/releases/$pkgver/cfe-$pkgver.src.tar.gz
+ llvm-3.3-alpine-linux.patch
"
# clang hardcodes linker paths; and don't know of a fix like the --with-dynamic-linker
# patch we use for gcc. So llvm-3.2-alpine-linux.patch needs to be updated if/when the
@@ -28,7 +28,7 @@ prepare() {
msg "Preparing CLANG sources..."
- mv "$srcdir"/clang-$pkgver.src \
+ mv "$srcdir"/cfe-$pkgver.src \
"$srcdir"/$pkgname-$pkgver.src/tools/clang || return 1
msg "Patching LLVM core..."
@@ -43,6 +43,8 @@ prepare() {
;;
esac
done
+ # fails to link
+ rm ./unittests/Support/formatted_raw_ostream_test.cpp
}
build() {
@@ -105,12 +107,12 @@ libs() {
mv "$pkgdir"/usr/lib/*.so "$subpkgdir"/usr/lib/
}
-md5sums="71610289bbc819e3e15fdd562809a2d7 llvm-3.2.src.tar.gz
-3896ef4334df08563b05d0848ba80582 clang-3.2.src.tar.gz
-3014842ee498ffe044773ef3a7f859ca llvm-3.2-alpine-linux.patch"
-sha256sums="125090c4d26740f1d5e9838477c931ed7d9ad70d599ba265f46f3a42cb066343 llvm-3.2.src.tar.gz
-2aaaf03f7c0f6b16fe97ecc81247dc2bf2d4bec7620a77cc74670b7e07ff5658 clang-3.2.src.tar.gz
-0496f84b97131b393662f4031bf7e117caaa29702bea569e8d4d783093c3067f llvm-3.2-alpine-linux.patch"
-sha512sums="cc66171322dbbe40bcac0e0ea5b09df8ff52df63ded304f841f32f702270d6ab1512216413ee52498c3ebee8cd39c4cd23e3855d591944bc2ac0ae76f5be62cc llvm-3.2.src.tar.gz
-99fc57d19b76c42af9821eaaa762056a926eb68178f6b7dd5e8bf092c9ee201a554b91d760d5a30a57f38102eae340e080ef8c6a39327f6881eda391b20b108d clang-3.2.src.tar.gz
-3878cfff1ab702c275d47b831751d87b2a112223ea6fe1fcc30e5f8e06b2fedf4f07b8ca9c65b3e6ac35dc6feba8d91a8b0579f9b2fe194ccdb202c2b9338640 llvm-3.2-alpine-linux.patch"
+md5sums="40564e1dc390f9844f1711c08b08e391 llvm-3.3.src.tar.gz
+8284891e3e311829b8e44ac813d0c9ef cfe-3.3.src.tar.gz
+5d5f4da3582349c9a8626cf55f8ac5e4 llvm-3.3-alpine-linux.patch"
+sha256sums="68766b1e70d05a25e2f502e997a3cb3937187a3296595cf6e0977d5cd6727578 llvm-3.3.src.tar.gz
+b1b55de4ab3a57d3e0331a83e0284610191c77d924e3446498d9113d08dfb996 cfe-3.3.src.tar.gz
+4c9a6b6838585ffe8d5ea063a1fa51514d407f9bb32ad56e859ed30c612fa641 llvm-3.3-alpine-linux.patch"
+sha512sums="1b7f7c5e907a68f642dcbe48fdff9585cb1504022bc9d386f310ebe5d25103d0d5f7cf0abf19e0e3fd666970160a98c90033754e2b79b2fac0cf866c984f8038 llvm-3.3.src.tar.gz
+06773f43f7d3529f06edb029f7de398f06a700a0f2476e00c4727e70c291028221bfac23625dfd2c220d6ac91a21670848187a934b99a21801c695127371afcc cfe-3.3.src.tar.gz
+4c177652bca81168e70ed37f95b337eea0fc4ad17ca8a5d77a018124aad89c06f851b92b9c89708b616fa37404a4a26f002dc035f6d4d7e22d97369d3fe71a95 llvm-3.3-alpine-linux.patch"
diff --git a/main/llvm/llvm-3.2-alpine-linux.patch b/main/llvm/llvm-3.3-alpine-linux.patch
index ecde9e2837..4964973271 100644
--- a/main/llvm/llvm-3.2-alpine-linux.patch
+++ b/main/llvm/llvm-3.3-alpine-linux.patch
@@ -1,7 +1,8 @@
-diff -urp llvm-3.2.src.orig/include/llvm/ADT/Triple.h llvm-3.2.src.new/include/llvm/ADT/Triple.h
---- llvm-3.2.src.orig/include/llvm/ADT/Triple.h 2012-11-15 16:24:48.000000000 -0500
-+++ llvm-3.2.src.new/include/llvm/ADT/Triple.h 2013-04-22 04:02:00.691571066 -0400
-@@ -115,7 +115,8 @@ public:
+diff --git a/include/llvm/ADT/Triple.h b/include/llvm/ADT/Triple.h
+index 3a72e87..ac4c3ea 100644
+--- a/include/llvm/ADT/Triple.h
++++ b/include/llvm/ADT/Triple.h
+@@ -117,7 +117,8 @@ public:
EABI,
MachO,
Android,
@@ -11,10 +12,11 @@ diff -urp llvm-3.2.src.orig/include/llvm/ADT/Triple.h llvm-3.2.src.new/include/l
};
private:
-diff -urp llvm-3.2.src.orig/lib/Support/Triple.cpp llvm-3.2.src.new/lib/Support/Triple.cpp
---- llvm-3.2.src.orig/lib/Support/Triple.cpp 2012-11-15 16:24:48.000000000 -0500
-+++ llvm-3.2.src.new/lib/Support/Triple.cpp 2013-04-22 04:02:04.568319294 -0400
-@@ -147,6 +147,7 @@ const char *Triple::getEnvironmentTypeNa
+diff --git a/lib/Support/Triple.cpp b/lib/Support/Triple.cpp
+index 412e34c..64dfce8 100644
+--- a/lib/Support/Triple.cpp
++++ b/lib/Support/Triple.cpp
+@@ -151,6 +151,7 @@ const char *Triple::getEnvironmentTypeName(EnvironmentType Kind) {
case MachO: return "macho";
case Android: return "android";
case ELF: return "elf";
@@ -22,7 +24,7 @@ diff -urp llvm-3.2.src.orig/lib/Support/Triple.cpp llvm-3.2.src.new/lib/Support/
}
llvm_unreachable("Invalid EnvironmentType!");
-@@ -293,6 +294,7 @@ static Triple::EnvironmentType parseEnvi
+@@ -300,6 +301,7 @@ static Triple::EnvironmentType parseEnvironment(StringRef EnvironmentName) {
.StartsWith("macho", Triple::MachO)
.StartsWith("android", Triple::Android)
.StartsWith("elf", Triple::ELF)
@@ -30,10 +32,11 @@ diff -urp llvm-3.2.src.orig/lib/Support/Triple.cpp llvm-3.2.src.new/lib/Support/
.Default(Triple::UnknownEnvironment);
}
-diff -urp llvm-3.2.src.orig/tools/clang/lib/Driver/ToolChains.cpp llvm-3.2.src.new/tools/clang/lib/Driver/ToolChains.cpp
---- llvm-3.2.src.orig/tools/clang/lib/Driver/ToolChains.cpp 2012-12-16 10:59:27.000000000 -0500
-+++ llvm-3.2.src.new/tools/clang/lib/Driver/ToolChains.cpp 2013-04-22 04:02:08.788408080 -0400
-@@ -1070,7 +1070,8 @@ Generic_GCC::GCCInstallationDetector::GC
+diff --git a/tools/clang/lib/Driver/ToolChains.cpp b/tools/clang/lib/Driver/ToolChains.cpp
+index fffba0e..797d0c1 100644
+--- a/tools/clang/lib/Driver/ToolChains.cpp
++++ b/tools/clang/lib/Driver/ToolChains.cpp
+@@ -1099,7 +1099,8 @@ Generic_GCC::GCCInstallationDetector::GCCInstallationDetector(
"x86_64-suse-linux",
"x86_64-manbo-linux-gnu",
"x86_64-linux-gnu",
@@ -43,7 +46,7 @@ diff -urp llvm-3.2.src.orig/tools/clang/lib/Driver/ToolChains.cpp llvm-3.2.src.n
};
static const char *const X86LibDirs[] = { "/lib32", "/lib" };
static const char *const X86Triples[] = {
-@@ -1083,7 +1084,8 @@ Generic_GCC::GCCInstallationDetector::GC
+@@ -1113,7 +1114,8 @@ Generic_GCC::GCCInstallationDetector::GCCInstallationDetector(
"i386-redhat-linux",
"i586-suse-linux",
"i486-slackware-linux",
@@ -53,15 +56,15 @@ diff -urp llvm-3.2.src.orig/tools/clang/lib/Driver/ToolChains.cpp llvm-3.2.src.n
};
static const char *const MIPSLibDirs[] = { "/lib" };
-@@ -1829,6 +1831,7 @@ Tool &Solaris::SelectTool(const Compilat
- /// Linux toolchain (very bare-bones at the moment).
+@@ -1980,6 +1982,7 @@ Tool *Solaris::buildLinker() const {
+ /// Distribution (very bare-bones at the moment).
- enum LinuxDistro {
+ enum Distro {
+ AlpineLinux,
ArchLinux,
DebianLenny,
DebianSqueeze,
-@@ -1955,6 +1958,9 @@ static LinuxDistro DetectLinuxDistro(llv
+@@ -2109,6 +2112,9 @@ static Distro DetectDistro(llvm::Triple::ArchType Arch) {
if (!llvm::sys::fs::exists("/etc/arch-release", Exists) && Exists)
return ArchLinux;
@@ -71,28 +74,29 @@ diff -urp llvm-3.2.src.orig/tools/clang/lib/Driver/ToolChains.cpp llvm-3.2.src.n
return UnknownDistro;
}
-diff -urp llvm-3.2.src.orig/tools/clang/lib/Driver/Tools.cpp llvm-3.2.src.new/tools/clang/lib/Driver/Tools.cpp
---- llvm-3.2.src.orig/tools/clang/lib/Driver/Tools.cpp 2012-11-21 02:56:23.000000000 -0500
-+++ llvm-3.2.src.new/tools/clang/lib/Driver/Tools.cpp 2013-04-22 04:09:34.657814569 -0400
-@@ -5975,9 +5975,12 @@ void linuxtools::Link::ConstructJob(Comp
+diff --git a/tools/clang/lib/Driver/Tools.cpp b/tools/clang/lib/Driver/Tools.cpp
+index aba1fe4..cc8e9c9 100644
+--- a/tools/clang/lib/Driver/Tools.cpp
++++ b/tools/clang/lib/Driver/Tools.cpp
+@@ -5983,9 +5983,12 @@ void gnutools::Link::ConstructJob(Compilation &C, const JobAction &JA,
CmdArgs.push_back("-dynamic-linker");
if (isAndroid)
CmdArgs.push_back("/system/bin/linker");
- else if (ToolChain.getArch() == llvm::Triple::x86)
- CmdArgs.push_back("/lib/ld-linux.so.2");
-- else if (ToolChain.getArch() == llvm::Triple::arm ||
+- else if (ToolChain.getArch() == llvm::Triple::aarch64)
+ else if (ToolChain.getArch() == llvm::Triple::x86) {
+ if (ToolChain.getTriple().getEnvironment() == llvm::Triple::UClibc)
+ CmdArgs.push_back("/lib/ld-uClibc.so.0.9.32");
+ else
+ CmdArgs.push_back("/lib/ld-linux.so.2");
-+ } else if (ToolChain.getArch() == llvm::Triple::arm ||
++ } else if (ToolChain.getArch() == llvm::Triple::aarch64)
+ CmdArgs.push_back("/lib/ld-linux-aarch64.so.1");
+ else if (ToolChain.getArch() == llvm::Triple::arm ||
ToolChain.getArch() == llvm::Triple::thumb) {
- if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF)
- CmdArgs.push_back("/lib/ld-linux-armhf.so.3");
-@@ -5998,6 +6001,8 @@ void linuxtools::Link::ConstructJob(Comp
- CmdArgs.push_back("/lib/ld.so.1");
- else if (ToolChain.getArch() == llvm::Triple::ppc64)
+@@ -6009,6 +6012,8 @@ void gnutools::Link::ConstructJob(Compilation &C, const JobAction &JA,
+ else if (ToolChain.getArch() == llvm::Triple::ppc64 ||
+ ToolChain.getArch() == llvm::Triple::systemz)
CmdArgs.push_back("/lib64/ld64.so.1");
+ else if (ToolChain.getTriple().getEnvironment() == llvm::Triple::UClibc)
+ CmdArgs.push_back("/lib/ld64-uClibc.so.0.9.32");