summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO4
-rw-r--r--0004-Fix-gcc-8-compiler-error.patch31
-rw-r--r--PKGBUILD6
3 files changed, 40 insertions, 1 deletions
diff --git a/.SRCINFO b/.SRCINFO
index d21efebcd9c5..c5cc30d785e2 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,5 +1,5 @@
# Generated by mksrcinfo v8
-# Wed Oct 25 05:54:16 UTC 2017
+# Mon May 14 03:24:11 UTC 2018
pkgbase = llvm40
pkgver = 4.0.1
pkgrel = 4
@@ -21,6 +21,7 @@ pkgbase = llvm40
source = 0001-GCC-compatibility-Ignore-the-fno-plt-flag.patch
source = 0002-Enable-SSP-and-PIE-by-default.patch
source = 0003-Fix-sanitizer-build-against-latest-glibc.patch
+ source = 0004-Fix-gcc-8-compiler-error.patch
source = disable-llvm-symbolizer-test.patch
sha256sums = da783db1f82d516791179fe103c71706046561f7972b18f0049242dee6712b51
sha256sums = SKIP
@@ -31,6 +32,7 @@ pkgbase = llvm40
sha256sums = ed4a1c3c73b31421caa0ba50d14cabc16de676a88f045d06b207bbb3006963ac
sha256sums = 79f1a409700a83d983d7237a907aeddf342c28aa810b87b28ee27b8c5560644a
sha256sums = 0afff7e5cf0f6df596517f63a9a9f085eab3b53f42a1eb14bbd83861c36c9fd7
+ sha256sums = 080e90dabbd386fb8c4771ab7537acff157b72bb0f2591609805cacf684cceed
sha256sums = 6fff47ab5ede79d45fe64bb4903b7dfc27212a38e6cd5d01e60ebd24b7557359
pkgname = llvm40
diff --git a/0004-Fix-gcc-8-compiler-error.patch b/0004-Fix-gcc-8-compiler-error.patch
new file mode 100644
index 000000000000..feb3128e1f45
--- /dev/null
+++ b/0004-Fix-gcc-8-compiler-error.patch
@@ -0,0 +1,31 @@
+From 5cea35478aaaac7728a50cbafd3770f96162f7ac Mon Sep 17 00:00:00 2001
+From: Tilmann Scheller <tschelle@redhat.com>
+Date: Thu, 1 Feb 2018 11:40:01 -0600
+Subject: [PATCH] Fix return type in ORC readMem() client interface.
+
+GCC 8.0.1 detects the type mismatch and causes the compilation to fail. Clang
+and earlier versions of GCC don't detect the issue.
+
+Fixes rhbz#1540620.
+---
+ include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
+index da02250ba16..bed472e2e0e 100644
+--- a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
++++ b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
+@@ -687,8 +687,8 @@ private:
+
+ uint32_t getTrampolineSize() const { return RemoteTrampolineSize; }
+
+- Expected<std::vector<char>> readMem(char *Dst, JITTargetAddress Src,
+- uint64_t Size) {
++ Expected<std::vector<uint8_t>> readMem(char *Dst, JITTargetAddress Src,
++ uint64_t Size) {
+ // Check for an 'out-of-band' error, e.g. from an MM destructor.
+ if (ExistingError)
+ return std::move(ExistingError);
+--
+2.16.1
+
diff --git a/PKGBUILD b/PKGBUILD
index 67541dfd7144..f8d627931365 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -24,6 +24,7 @@ source=(https://releases.llvm.org/$pkgver/llvm-$pkgver.src.tar.xz{,.sig}
0001-GCC-compatibility-Ignore-the-fno-plt-flag.patch
0002-Enable-SSP-and-PIE-by-default.patch
0003-Fix-sanitizer-build-against-latest-glibc.patch
+ 0004-Fix-gcc-8-compiler-error.patch
disable-llvm-symbolizer-test.patch)
sha256sums=('da783db1f82d516791179fe103c71706046561f7972b18f0049242dee6712b51'
'SKIP'
@@ -34,6 +35,7 @@ sha256sums=('da783db1f82d516791179fe103c71706046561f7972b18f0049242dee6712b51'
'ed4a1c3c73b31421caa0ba50d14cabc16de676a88f045d06b207bbb3006963ac'
'79f1a409700a83d983d7237a907aeddf342c28aa810b87b28ee27b8c5560644a'
'0afff7e5cf0f6df596517f63a9a9f085eab3b53f42a1eb14bbd83861c36c9fd7'
+ '080e90dabbd386fb8c4771ab7537acff157b72bb0f2591609805cacf684cceed'
'6fff47ab5ede79d45fe64bb4903b7dfc27212a38e6cd5d01e60ebd24b7557359')
validpgpkeys=('11E521D646982372EB577A1F8F0871F202119294')
@@ -55,6 +57,10 @@ prepare() {
# Fix sanitizer build against latest glibc
# https://reviews.llvm.org/D35246
patch -Np0 -d projects/compiler-rt < ../0003-Fix-sanitizer-build-against-latest-glibc.patch
+
+ # Fix compiler error with gcc >= 8
+ # https://bugzilla.redhat.com/show_bug.cgi?id=1540620
+ patch -Np1 < ../0004-Fix-gcc-8-compiler-error.patch
}
build() {