summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoey Dumont2020-02-28 22:41:52 -0500
committerJoey Dumont2020-02-28 22:47:55 -0500
commitddd4eff3271e2d4a296a628df2761d06dc4f5461 (patch)
tree896bdb82e64f066157302a65d77b99d02f14e347
parent6a7890f5285ac04c9b4e3cef9d24dcd9418be80b (diff)
downloadaur-ddd4eff3271e2d4a296a628df2761d06dc4f5461.tar.gz
Fixed libsanitizer error due to newer glibc.
Ran mksrcinfo.
-rw-r--r--.SRCINFO10
-rw-r--r--PKGBUILD14
-rw-r--r--libsanitizer.patch63
3 files changed, 79 insertions, 8 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 0e9a3c09510b..92cbdf617da1 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = gcc6
pkgdesc = The GNU Compiler Collection (6.x.x)
pkgver = 6.5.0
- pkgrel = 3
+ pkgrel = 4
url = https://gcc.gnu.org/gcc-6/
arch = x86_64
license = GPL
@@ -22,13 +22,15 @@ pkgbase = gcc6
source = https://gcc.gnu.org/pub/gcc/releases/gcc-6.5.0/gcc-6.5.0.tar.xz
source = https://gcc.gnu.org/pub/gcc/infrastructure/isl-0.18.tar.bz2
source = http://www.bastoul.net/cloog/pages/download/cloog-0.18.4.tar.gz
+ source = libsanitizer.patch
sha512sums = ce046f9a50050fd54b870aab764f7db187fe7ea92eb4aaffb7c3689ca623755604e231f2af97ef795f41c406bb80c797dd69957cfdd51dfa2ba60813f72b7eac
sha512sums = 85d0b40f4dbf14cb99d17aa07048cdcab2dc3eb527d2fbb1e84c41b2de5f351025370e57448b63b2b8a8cf8a0843a089c3263f9baee1542d5c2e1cb37ed39d94
sha512sums = d35d67b08ffe13c1a010b65bfe4dd02b0ae013d5b489e330dc950bd3514defca8f734bd37781856dcedf0491ff6122c34eecb4b0fe32a22d7e6bdadea98c8c23
+ sha512sums = e7861f77d54ac9bc12cfc6d3498a9bc284e72f728435c23866ac0763fb93e94e431d819c3def9f5aa03acbafc437141882e7b3746f4574ec6e5eb66b555cebb6
pkgname = gcc6
pkgdesc = The GNU Compiler Collection - C and C++ frontends
- depends = gcc6-libs=6.5.0-3
+ depends = gcc6-libs=6.5.0-4
depends = binutils>=2.28
depends = libmpc
options = staticlibs
@@ -41,12 +43,12 @@ pkgname = gcc6-libs
pkgname = gcc6-fortran
pkgdesc = Fortran front-end for GCC
- depends = gcc6=6.5.0-3
+ depends = gcc6=6.5.0-4
options = !emptydirs
pkgname = gcc6-gcj
pkgdesc = Java front-end for GCC
- depends = gcc6=6.5.0-3
+ depends = gcc6=6.5.0-4
replaces = gcc-gcj
options = !emptydirs
diff --git a/PKGBUILD b/PKGBUILD
index 8c7ccb4f83b8..bb1168472aea 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,4 +1,5 @@
-# Maintainer: Viktor Drobot (aka dviktor) linux776 [at] gmail [dot] com
+# Maintainer: Joey Dumont <joey.dumont@gmail.com>
+# Contributor: Viktor Drobot (aka dviktor) linux776 [at] gmail [dot] com
# Contributor: Sebastiaan Lokhorst <sebastiaanlokhorst@gmail.com>
# Contributor: frankspace
# Contributor: Renan Manola <rmanola@gmail.com>
@@ -13,7 +14,7 @@ pkgver=6.5.0
_ver=6
_islver=0.18
_cloogver=0.18.4
-pkgrel=3
+pkgrel=4
pkgdesc="The GNU Compiler Collection (6.x.x)"
arch=(x86_64)
license=(GPL LGPL FDL custom)
@@ -22,16 +23,21 @@ makedepends=(binutils libmpc doxygen subversion java-environment-common zip jdk8
options=(!emptydirs)
source=(https://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.xz
https://gcc.gnu.org/pub/gcc/infrastructure/isl-${_islver}.tar.bz2
- http://www.bastoul.net/cloog/pages/download/cloog-${_cloogver}.tar.gz)
+ http://www.bastoul.net/cloog/pages/download/cloog-${_cloogver}.tar.gz
+ "libsanitizer.patch"
+ )
sha512sums=('ce046f9a50050fd54b870aab764f7db187fe7ea92eb4aaffb7c3689ca623755604e231f2af97ef795f41c406bb80c797dd69957cfdd51dfa2ba60813f72b7eac'
'85d0b40f4dbf14cb99d17aa07048cdcab2dc3eb527d2fbb1e84c41b2de5f351025370e57448b63b2b8a8cf8a0843a089c3263f9baee1542d5c2e1cb37ed39d94'
- 'd35d67b08ffe13c1a010b65bfe4dd02b0ae013d5b489e330dc950bd3514defca8f734bd37781856dcedf0491ff6122c34eecb4b0fe32a22d7e6bdadea98c8c23')
+ 'd35d67b08ffe13c1a010b65bfe4dd02b0ae013d5b489e330dc950bd3514defca8f734bd37781856dcedf0491ff6122c34eecb4b0fe32a22d7e6bdadea98c8c23'
+ 'e7861f77d54ac9bc12cfc6d3498a9bc284e72f728435c23866ac0763fb93e94e431d819c3def9f5aa03acbafc437141882e7b3746f4574ec6e5eb66b555cebb6')
_libdir="/usr/lib/gcc/$CHOST/$pkgver"
prepare() {
cd gcc-$pkgver
+ patch --forward --strip=2 --input=${srcdir}/libsanitizer.patch
+
# Link isl/cloog for in-tree builds
ln -sf ../isl-${_islver} isl
ln -sf ../cloog-${_cloogver} cloog
diff --git a/libsanitizer.patch b/libsanitizer.patch
new file mode 100644
index 000000000000..f833e1119d76
--- /dev/null
+++ b/libsanitizer.patch
@@ -0,0 +1,63 @@
+diff -aur src.pristine/gcc-6.5.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc src.new/gcc-6.5.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
+--- src.pristine/gcc-6.5.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 2020-02-26 21:58:22.465728543 -0500
++++ src.new/gcc-6.5.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 2020-02-26 22:17:14.997803617 -0500
+@@ -1130,8 +1130,9 @@
+ #ifndef __GLIBC_PREREQ
+ #define __GLIBC_PREREQ(x, y) 0
+ #endif
+-#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21)
+-/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */
++//#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21)
++///* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */
++#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31)
+ CHECK_SIZE_AND_OFFSET(ipc_perm, mode);
+ #endif
+
+diff -aur src.pristine/gcc-6.5.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h src.new/gcc-6.5.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
+--- src.pristine/gcc-6.5.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h 2020-02-26 21:58:22.459061884 -0500
++++ src.new/gcc-6.5.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h 2020-02-26 22:16:16.651201784 -0500
+@@ -200,27 +200,28 @@
+ unsigned __seq;
+ u64 __unused1;
+ u64 __unused2;
+-#elif defined(__mips__) || defined(__aarch64__)
+- unsigned int mode;
+- unsigned short __seq;
+- unsigned short __pad1;
+- unsigned long __unused1;
+- unsigned long __unused2;
++ //#elif defined(__mips__) || defined(__aarch64__)
++ // unsigned int mode;
++ //unsigned short __seq;
++ //unsigned short __pad1;
++ //unsigned long __unused1;
++ //unsigned long __unused2;
+ #elif defined(__sparc__)
+-# if defined(__arch64__)
++ //# if defined(__arch64__)
+ unsigned mode;
+- unsigned short __pad1;
+-# else
+- unsigned short __pad1;
+- unsigned short mode;
+- unsigned short __pad2;
+-# endif
++ //unsigned short __pad1;
++ //# else
++ //unsigned short __pad1;
++ //unsigned short mode;
++ unsigned short __pad2;
++ //# endif
+ unsigned short __seq;
+ unsigned long long __unused1;
+ unsigned long long __unused2;
+ #else
+- unsigned short mode;
+- unsigned short __pad1;
++ //unsigned short mode;
++ //unsigned short __pad1;
++ unsigned int mode;
+ unsigned short __seq;
+ unsigned short __pad2;
+ #if defined(__x86_64__) && !defined(_LP64)
+Only in src.new/gcc-6.5.0/libsanitizer/sanitizer_common: sanitizer_platform_limits_posix.h~