llvm: update to 3.6; make libllvm versioned (libllvm3.6).

This commit is contained in:
Juan RP 2015-03-10 18:32:32 +01:00
parent 997ad9dc6b
commit 0c3416cd85
5 changed files with 10 additions and 58 deletions

View File

@ -913,6 +913,7 @@ libconfuse.so.0 confuse-2.7_1
libclang.so clang-3.4.2_1
liblldb.so lldb-3.5.1_1
libLLVM-3.5.so libllvm-3.5.0_1
libLLVM-3.6.so libllvm3.6-3.6.0_1
libisofs.so.6 libisofs-0.6.24_1
libbfd-2.22.so binutils-2.22_1<2.23_1
libopcodes-2.22.so binutils-2.22_1<2.23_1

View File

@ -1,22 +0,0 @@
For unknown reasons llvm_unreachable() causes a GCC internal compiler error
when cross compiling it for ARM:
/builddir/llvm-3.4/lib/LTO/LTOCodeGenerator.cpp: In member function 'void LTOCodeGenerator::setCodePICModel(lto_codegen_model)':
/builddir/llvm-3.4/lib/LTO/LTOCodeGenerator.cpp:166:1: internal compiler error: in merge_if_block, at ifcvt.c:3193
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
Comment it out for now as workaround.
--- lib/LTO/LTOCodeGenerator.cpp.orig 2014-01-07 12:14:22.401871342 +0100
+++ lib/LTO/LTOCodeGenerator.cpp 2014-01-07 12:14:44.050019574 +0100
@@ -162,7 +162,7 @@ void LTOCodeGenerator::setCodePICModel(l
CodeModel = model;
return;
}
- llvm_unreachable("Unknown PIC model!");
+ //llvm_unreachable("Unknown PIC model!");
}
bool LTOCodeGenerator::writeMergedModules(const char *path,

View File

@ -1,26 +0,0 @@
diff --git a/include/llvm/IR/LegacyPassNameParser.h b/include/llvm/IR/LegacyPassNameParser.h
index e2e4912..a07e3fd 100644
--- include/llvm/IR/LegacyPassNameParser.h
+++ include/llvm/IR/LegacyPassNameParser.h
@@ -95,6 +95,8 @@ private:
}
};
+EXTERN_TEMPLATE_INSTANTIATION(class cl::parser<const PassInfo *>);
+
///===----------------------------------------------------------------------===//
/// FilteredPassNameParser class - Make use of the pass registration
/// mechanism to automatically add a command line argument to opt for
diff --git a/lib/IR/Pass.cpp b/lib/IR/Pass.cpp
index 91d86ae..00ce223 100644
--- lib/IR/Pass.cpp
+++ lib/IR/Pass.cpp
@@ -234,6 +234,8 @@ PassNameParser::~PassNameParser() {
// attempting to remove the registration listener is an error.
}
+TEMPLATE_INSTANTIATION(class cl::parser<const PassInfo *>);
+
//===----------------------------------------------------------------------===//
// AnalysisUsage Class Implementation
//

View File

@ -1,14 +1,13 @@
# Template file for 'llvm'
pkgname=llvm
version=3.5.1
version=3.6.0
wrksrc="llvm-${version}.src"
revision=4
revision=1
lib32disabled=yes
configure_args="--disable-expensive-checks --disable-debug-runtime
--enable-bindings=none --enable-optimized --enable-shared --enable-libffi
--enable-llvmc-dynamic --disable-assertions --enable-keep-symbols
--enable-experimental-targets=R600"
conflicts="llvm-git>=0"
short_desc="Low Level Virtual Machine"
maintainer="Juan RP <xtraeme@gmail.com>"
homepage="http://www.llvm.org"
@ -19,16 +18,16 @@ distfiles="
http://www.llvm.org/releases/${version}/cfe-${version}.src.tar.xz
http://www.llvm.org/releases/${version}/compiler-rt-${version}.src.tar.xz"
checksum="
bf3275d2d7890015c8d8f5e6f4f882f8cf3bf51967297ebe74111d6d8b53be15
e8b948c6c85cd61bd9a48361959401b9c631fa257c0118db26697c5d57460e13
6773f3f9cf815631cc7e779ec134ddd228dc8e9a250e1ea3a910610c59eb8f5c
adf4b526f33e681aff5961f0821f5b514d3fc375410008842640b56a2e6a837a"
b39a69e501b49e8f73ff75c9ad72313681ee58d6f430bfad4d81846fe92eb9ce
2b1ad1d42c4ea3fa2f9dd6db7c522d86e80891659b24dbb3d0d80386d8eaf0b2
be0e69378119fe26f0f2f74cffe82b7c26da840c9733fe522ed3c1b66b11082d
7f49fb79e5adcdce7dddaf973f1db130228dfb19e37a99a7f5365a6948b26b11"
# XXX Investigate ocaml bindings.
hostmakedepends="groff perl python zlib-devel libffi-devel swig"
makedepends="python-devel zlib-devel libffi-devel libedit-devel"
subpackages="clang clang-analyzer libllvm llvm-docs"
subpackages="clang clang-analyzer libllvm3.6 llvm-docs"
if [ -z "$CROSS_BUILD" ]; then
# XXX fails to cross compile due to python
subpackages+=" lldb lldb-devel"
@ -97,7 +96,7 @@ clang-analyzer_package() {
noarch=yes
pycompile_dirs="usr/lib/clang-analyzer"
depends="clang-${version}_${revision} python"
short_desc="Low-Level Virtual Machine (LLVM) - A source code analysis framework"
short_desc+=" - A source code analysis framework"
homepage="http://clang-analyzer.llvm.org/"
pkg_install() {
vmkdir usr/bin
@ -152,7 +151,7 @@ llvm-docs_package() {
vmove usr/share/doc
}
}
libllvm_package() {
libllvm3.6_package() {
short_desc+=" - runtime library"
pkg_install() {
vmove usr/lib/libLLVM-${version%.*}.so