summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorkwantam2018-09-30 17:06:03 -0700
committerkwantam2018-09-30 18:09:28 -0700
commit98c90ef6eb999522376f3d3f05c39be73c46b81d (patch)
tree2bf5c7b53cdf30fb28c9535e2e691295e95dcc5a
parent4faf66a1787b6123711a49e71b1d0cd84d0f2ab6 (diff)
downloadaur-98c90ef6eb999522376f3d3f05c39be73c46b81d.tar.gz
3.8.1-5: fix broken build due to gcc updates
-rw-r--r--.SRCINFO28
-rw-r--r--PKGBUILD14
-rw-r--r--go_test_explicitly_link_libffi.patch8
-rw-r--r--precomputed_ustat_struct_size.patch31
-rw-r--r--valuemap_explicit_bool_cast.patch11
5 files changed, 79 insertions, 13 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 7fdca59826c..c26e47a5383 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = llvm38
pkgver = 3.8.1
- pkgrel = 4
+ pkgrel = 5
url = http://llvm.org/
arch = i686
arch = x86_64
@@ -29,6 +29,9 @@ pkgbase = llvm38
source = D18035-PR23529-Mangler-part-of-attrbute-abi_tag-support.patch
source = D35246-Fix-sanitizer-build-against-latest-glibc.patch
source = disable-llvm-symbolizer-test.patch
+ source = precomputed_ustat_struct_size.patch
+ source = valuemap_explicit_bool_cast.patch
+ source = go_test_explicitly_link_libffi.patch
source = llvm-Config-llvm-config.h
validpgpkeys = B6C8F98282B944E3B0D5C2530FC3042E345AD05D
validpgpkeys = 11E521D646982372EB577A1F8F0871F202119294
@@ -46,14 +49,17 @@ pkgbase = llvm38
sha256sums = d71f8677882c86accddb8a5b720f298a4d7a2ad3bce6091951a46396b8f14da1
sha256sums = 0515d1adab68f62de5528ae0c4e4e25811c472d6b4f9bd102a9811cae7ef977e
sha256sums = 62e6df669f96ab30e8c235bc6adc465221a0fcb29171edca75bfa4178a81fcd6
+ sha256sums = 337bd2b895ade2f26cb7fa1c842d2c1e06cb71741cf0603aff27b2769bfd61b8
+ sha256sums = cd48bb5498c25fed2c237ab44e3700aa76ae9d8040bffa0e17dfebf2f4243bc1
+ sha256sums = 039a78549a5fcf6b42acba4d8f05c5593f3adeb38b151b607aa44ceb542562d8
sha256sums = 597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecffffab8bc48
makedepends_x86_64 = gcc-multilib
pkgname = llvm38
pkgdesc = Low Level Virtual Machine
- depends = llvm-libs38=3.8.1-4
+ depends = llvm-libs38=3.8.1-5
depends = perl
- provides = llvm=3.8.1-4
+ provides = llvm=3.8.1-5
conflicts = llvm
replaces = llvm
@@ -64,16 +70,16 @@ pkgname = llvm-libs38
depends = libffi
depends = libedit
depends = ncurses
- provides = llvm-libs=3.8.1-4
+ provides = llvm-libs=3.8.1-5
conflicts = llvm-libs
replaces = llvm-libs
pkgname = llvm-ocaml38
pkgdesc = OCaml bindings for LLVM
- depends = llvm38=3.8.1-4
+ depends = llvm38=3.8.1-5
depends = ocaml
depends = ocaml-ctypes
- provides = llvm-ocaml=3.8.1-4
+ provides = llvm-ocaml=3.8.1-5
conflicts = llvm-ocaml
replaces = llvm-ocaml
@@ -84,19 +90,19 @@ pkgname = lldb38
depends = libxml2
depends = python2
depends = python2-six
- provides = lldb=3.8.1-4
+ provides = lldb=3.8.1-5
conflicts = lldb
replaces = lldb
pkgname = clang38
pkgdesc = C language family frontend for LLVM
url = http://clang.llvm.org/
- depends = llvm-libs38=3.8.1-4
+ depends = llvm-libs38=3.8.1-5
depends = gcc
depends = libxml2
optdepends = openmp: OpenMP support in clang with -fopenmp
optdepends = python2: for scan-view and git-clang-format
- provides = clang=3.8.1-4
+ provides = clang=3.8.1-5
provides = clang-analyzer=3.8.1
conflicts = clang
conflicts = clang-analyzer
@@ -106,8 +112,8 @@ pkgname = clang38
pkgname = clang-tools-extra38
pkgdesc = Extra tools built using clang's tooling APIs
url = http://clang.llvm.org/
- depends = clang38=3.8.1-4
- provides = clang-tools-extra=3.8.1-4
+ depends = clang38=3.8.1-5
+ provides = clang-tools-extra=3.8.1-5
conflicts = clang-tools-extra
replaces = clang-tools-extra
diff --git a/PKGBUILD b/PKGBUILD
index ce441112d6a..e3874afc8f7 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,5 +1,6 @@
# $Id$
-# Maintainer: Felix Schindler <aut at felixschindler dot net>
+# Maintainer: Riad Wahby <kwantam+aur at gmail dot com>
+# Contributor: Felix Schindler <aut at felixschindler dot net>
# Contributor: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Contributor: Sebastian Nowicki <sebnow@gmail.com>
@@ -12,7 +13,7 @@
pkgname=('llvm38' 'llvm-libs38' 'llvm-ocaml38' 'lldb38' 'clang38' 'clang-tools-extra38')
pkgver=3.8.1
-pkgrel=4
+pkgrel=5
#_ocaml_ver=4.06.0-2
arch=('i686' 'x86_64')
url="http://llvm.org/"
@@ -31,6 +32,9 @@ source=(http://releases.llvm.org/$pkgver/llvm-$pkgver.src.tar.xz{,.sig}
D18035-PR23529-Mangler-part-of-attrbute-abi_tag-support.patch
D35246-Fix-sanitizer-build-against-latest-glibc.patch
disable-llvm-symbolizer-test.patch
+ precomputed_ustat_struct_size.patch
+ valuemap_explicit_bool_cast.patch
+ go_test_explicitly_link_libffi.patch
llvm-Config-llvm-config.h)
sha256sums=('6e82ce4adb54ff3afc18053d6981b6aed1406751b8742582ed50f04b5ab475f9'
'SKIP'
@@ -46,6 +50,9 @@ sha256sums=('6e82ce4adb54ff3afc18053d6981b6aed1406751b8742582ed50f04b5ab475f9'
'd71f8677882c86accddb8a5b720f298a4d7a2ad3bce6091951a46396b8f14da1'
'0515d1adab68f62de5528ae0c4e4e25811c472d6b4f9bd102a9811cae7ef977e'
'62e6df669f96ab30e8c235bc6adc465221a0fcb29171edca75bfa4178a81fcd6'
+ '337bd2b895ade2f26cb7fa1c842d2c1e06cb71741cf0603aff27b2769bfd61b8'
+ 'cd48bb5498c25fed2c237ab44e3700aa76ae9d8040bffa0e17dfebf2f4243bc1'
+ '039a78549a5fcf6b42acba4d8f05c5593f3adeb38b151b607aa44ceb542562d8'
'597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecffffab8bc48')
validpgpkeys=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D'
'11E521D646982372EB577A1F8F0871F202119294')
@@ -68,6 +75,9 @@ prepare() {
patch -d tools/clang -Np0 <../D18035-PR23529-Mangler-part-of-attrbute-abi_tag-support.patch
patch -d projects/compiler-rt -Np0 <../D35246-Fix-sanitizer-build-against-latest-glibc.patch
patch -d . -Np0 <../disable-llvm-symbolizer-test.patch
+ patch -d . -Np0 <../precomputed_ustat_struct_size.patch
+ patch -d . -Np0 <../valuemap_explicit_bool_cast.patch
+ patch -d . -Np0 <../go_test_explicitly_link_libffi.patch
# fix some compile errors
sed -i 's/#include <cassert>/#include <cassert>\n#include <functional>/' tools/lldb/include/lldb/Utility/TaskPool.h
diff --git a/go_test_explicitly_link_libffi.patch b/go_test_explicitly_link_libffi.patch
new file mode 100644
index 00000000000..5e6611fd046
--- /dev/null
+++ b/go_test_explicitly_link_libffi.patch
@@ -0,0 +1,8 @@
+--- test/Bindings/Go/lit.local.cfg
++++ test/Bindings/Go/lit.local.cfg
+@@ -57,4 +57,4 @@
+
+ config.environment['CC'] = fixup_compiler_path(config.host_cc)
+ config.environment['CXX'] = fixup_compiler_path(config.host_cxx)
+-config.environment['CGO_LDFLAGS'] = config.host_ldflags
++config.environment['CGO_LDFLAGS'] = "-lffi " + config.host_ldflags
diff --git a/precomputed_ustat_struct_size.patch b/precomputed_ustat_struct_size.patch
new file mode 100644
index 00000000000..bcaa44b2b50
--- /dev/null
+++ b/precomputed_ustat_struct_size.patch
@@ -0,0 +1,31 @@
+--- projects/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
++++ projects/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
+@@ -161,7 +161,6 @@
+ # include <sys/procfs.h>
+ #endif
+ #include <sys/user.h>
+-#include <sys/ustat.h>
+ #include <linux/cyclades.h>
+ #include <linux/if_eql.h>
+ #include <linux/if_plip.h>
+@@ -254,7 +253,19 @@
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+
+ #if SANITIZER_LINUX && !SANITIZER_ANDROID
+- unsigned struct_ustat_sz = sizeof(struct ustat);
++ // Use pre-computed size of struct ustat to avoid <sys/ustat.h> which
++ // has been removed from glibc 2.28.
++#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \
++ || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \
++ || defined(__x86_64__)
++#define SIZEOF_STRUCT_USTAT 32
++#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \
++ || defined(__powerpc__) || defined(__s390__)
++#define SIZEOF_STRUCT_USTAT 20
++#else
++#error Unknown size of struct ustat
++#endif
++ unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT;
+ unsigned struct_rlimit64_sz = sizeof(struct rlimit64);
+ unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
+ #endif // SANITIZER_LINUX && !SANITIZER_ANDROID
diff --git a/valuemap_explicit_bool_cast.patch b/valuemap_explicit_bool_cast.patch
new file mode 100644
index 00000000000..62081c88794
--- /dev/null
+++ b/valuemap_explicit_bool_cast.patch
@@ -0,0 +1,11 @@
+--- include/llvm/IR/ValueMap.h
++++ include/llvm/IR/ValueMap.h
+@@ -99,7 +99,7 @@
+ explicit ValueMap(const ExtraData &Data, unsigned NumInitBuckets = 64)
+ : Map(NumInitBuckets), Data(Data) {}
+
+- bool hasMD() const { return MDMap; }
++ bool hasMD() const { return bool(MDMap); }
+ MDMapT &MD() {
+ if (!MDMap)
+ MDMap.reset(new MDMapT);