diff options
author | Ruben Van Boxem | 2020-03-21 18:49:20 +0100 |
---|---|---|
committer | Ruben Van Boxem | 2020-03-21 18:49:20 +0100 |
commit | c1dfb08fb4c4a0c45698a2414045afeb2e579333 (patch) | |
tree | f743da4520c76fe79a849d779e205e9cfcc6401c | |
parent | b2c719a09d5e2877710805386dedd0a6a6f51b77 (diff) | |
download | aur-c1dfb08fb4c4a0c45698a2414045afeb2e579333.tar.gz |
add patch for compatibility of libsanitizer with recent glibc
-rw-r--r-- | .SRCINFO | 2 | ||||
-rw-r--r-- | 0004-glibc-2.31-libsanitizer.patch | 38 | ||||
-rw-r--r-- | PKGBUILD | 9 |
3 files changed, 46 insertions, 3 deletions
@@ -22,6 +22,7 @@ pkgbase = gcc49 source = 0001-gcc-4.9-SIGSEGV.patch source = 0002-gcc-4.9-__res_state.patch source = 0003-gcc-4.9-ustate.patch + source = 0004-glibc-2.31-libsanitizer.patch md5sums = 87c24a4090c1577ba817ec6882602491 md5sums = e039bfcfb6c2ab039b8ee69bf883e824 md5sums = e34fca0540d840e5d0f6427e98c92252 @@ -29,6 +30,7 @@ pkgbase = gcc49 md5sums = e787a03f0c38434490515a5823eca0b8 md5sums = c64d1e20274ff4fbfacdd11bef2e1273 md5sums = b27134678242f358c9b81cd73a1bcba1 + md5sums = 931ee06584a47f3bdb5ea57fa2d5f76f pkgname = gcc49 diff --git a/0004-glibc-2.31-libsanitizer.patch b/0004-glibc-2.31-libsanitizer.patch new file mode 100644 index 000000000000..2a3465ab2f29 --- /dev/null +++ b/0004-glibc-2.31-libsanitizer.patch @@ -0,0 +1,38 @@ +--- gcc-4.9.4/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 2020-03-21 17:37:23.620440276 +0100 ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 2020-03-21 17:36:36.520276053 +0100 +@@ -939,7 +939,11 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, uid); + CHECK_SIZE_AND_OFFSET(ipc_perm, gid); + CHECK_SIZE_AND_OFFSET(ipc_perm, cuid); + CHECK_SIZE_AND_OFFSET(ipc_perm, cgid); ++#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31) ++/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit ++ on many architectures. */ + CHECK_SIZE_AND_OFFSET(ipc_perm, mode); ++#endif + CHECK_SIZE_AND_OFFSET(ipc_perm, __seq); + + CHECK_TYPE_SIZE(shmid_ds); +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h 2014-10-14 21:26:42.000000000 +0200 ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h 2020-03-21 13:03:32.238797548 +0100 +@@ -154,20 +154,13 @@ namespace __sanitizer { + u64 __unused1; + u64 __unused2; + #elif defined(__sparc__) +-# if defined(__arch64__) + unsigned mode; +- 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 int mode; + unsigned short __seq; + unsigned short __pad2; + #if defined(__x86_64__) && !defined(_LP64) @@ -22,14 +22,16 @@ source=("ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2" "0000-gcc-4.9.ucontext.patch" "0001-gcc-4.9-SIGSEGV.patch" "0002-gcc-4.9-__res_state.patch" - "0003-gcc-4.9-ustate.patch") + "0003-gcc-4.9-ustate.patch" + "0004-glibc-2.31-libsanitizer.patch") md5sums=('87c24a4090c1577ba817ec6882602491' 'e039bfcfb6c2ab039b8ee69bf883e824' 'e34fca0540d840e5d0f6427e98c92252' '4a0dc704f1d92ceb4dd8608811241cec' 'e787a03f0c38434490515a5823eca0b8' 'c64d1e20274ff4fbfacdd11bef2e1273' - 'b27134678242f358c9b81cd73a1bcba1') + 'b27134678242f358c9b81cd73a1bcba1' + '931ee06584a47f3bdb5ea57fa2d5f76f') _basedir=gcc-${pkgver} _libdir="usr/lib/gcc/$CHOST/$pkgver" @@ -69,8 +71,9 @@ prepare() { fi patch -Nbup0 -i "${srcdir}/0003-gcc-4.9-ustate.patch" + patch -p1 -i "${srcdir}/0004-glibc-2.31-libsanitizer.patch" - mkdir ${srcdir}/gcc-build + mkdir -p ${srcdir}/gcc-build } build() { |