diff options
author | Maxime Arthaud | 2018-08-15 10:16:54 -0700 |
---|---|---|
committer | Maxime Arthaud | 2018-08-15 10:16:54 -0700 |
commit | a12cd9de8fb79c7780612a2106184fa80add36eb (patch) | |
tree | 6f2ed071ddd40aa3b83339e49edcfadaf13d8d80 | |
parent | f459b0bad8aa3b94bc2733d79d176071a32846a6 (diff) | |
download | aur-a12cd9de8fb79c7780612a2106184fa80add36eb.tar.gz |
Fix for latest glibc (missing sys/ustat.h)
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | D47281-Use-pre-computed-size-of-struct-ustat.patch | 33 | ||||
-rw-r--r-- | PKGBUILD | 12 |
3 files changed, 45 insertions, 4 deletions
@@ -1,6 +1,6 @@ pkgbase = llvm40 pkgver = 4.0.1 - pkgrel = 6 + pkgrel = 7 url = http://llvm.org/ arch = i686 arch = x86_64 @@ -24,6 +24,7 @@ pkgbase = llvm40 source = PR37031-Fix-Mips-breakages.patch source = PR37032-Fix-ldd-x86_64-darwin13-build-fails.patch source = D32089-Avoid-undefined-behavior-in-unittest.patch + source = D47281-Use-pre-computed-size-of-struct-ustat.patch validpgpkeys = 11E521D646982372EB577A1F8F0871F202119294 sha256sums = da783db1f82d516791179fe103c71706046561f7972b18f0049242dee6712b51 sha256sums = SKIP @@ -39,6 +40,7 @@ pkgbase = llvm40 sha256sums = 506bdbcb30c8bb4a8e3406f14ae972441835dceede61ece9e0117cb0f357e514 sha256sums = 6d5498068cf4f6141ee2c8abc1828cc3797e309e545a4e80fa544ac253fc619b sha256sums = 25121be62f3213030deb7db1ddf2d200971f8111c9d72a59e45db3ddca322bb2 + sha256sums = aa42070d84d055311d39d8020d1606e116687ef2c6d515364e55d3e1d42db98d pkgname = llvm40 pkgdesc = Low Level Virtual Machine diff --git a/D47281-Use-pre-computed-size-of-struct-ustat.patch b/D47281-Use-pre-computed-size-of-struct-ustat.patch new file mode 100644 index 000000000000..9652b888bcbb --- /dev/null +++ b/D47281-Use-pre-computed-size-of-struct-ustat.patch @@ -0,0 +1,33 @@ +Index: lib/sanitizer_common/sanitizer_platform_limits_posix.cc +=================================================================== +--- lib/sanitizer_common/sanitizer_platform_limits_posix.cc ++++ lib/sanitizer_common/sanitizer_platform_limits_posix.cc +@@ -160,7 +160,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> +@@ -253,7 +252,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 @@ -11,7 +11,7 @@ pkgname=('llvm40' 'llvm40-libs' 'clang40') pkgver=4.0.1 -pkgrel=6 +pkgrel=7 _prefix="/usr/lib/llvm-4.0" arch=('i686' 'x86_64') url="http://llvm.org/" @@ -28,7 +28,8 @@ source=(https://releases.llvm.org/$pkgver/llvm-$pkgver.src.tar.xz{,.sig} PR37486-Fix-lli-fails-to-build-with-gcc-8.patch PR37031-Fix-Mips-breakages.patch PR37032-Fix-ldd-x86_64-darwin13-build-fails.patch - D32089-Avoid-undefined-behavior-in-unittest.patch) + D32089-Avoid-undefined-behavior-in-unittest.patch + D47281-Use-pre-computed-size-of-struct-ustat.patch) sha256sums=('da783db1f82d516791179fe103c71706046561f7972b18f0049242dee6712b51' 'SKIP' '61738a735852c23c3bdbe52d035488cdb2083013f384d67c1ba36fabebd8769b' @@ -42,7 +43,8 @@ sha256sums=('da783db1f82d516791179fe103c71706046561f7972b18f0049242dee6712b51' '080e90dabbd386fb8c4771ab7537acff157b72bb0f2591609805cacf684cceed' '506bdbcb30c8bb4a8e3406f14ae972441835dceede61ece9e0117cb0f357e514' '6d5498068cf4f6141ee2c8abc1828cc3797e309e545a4e80fa544ac253fc619b' - '25121be62f3213030deb7db1ddf2d200971f8111c9d72a59e45db3ddca322bb2') + '25121be62f3213030deb7db1ddf2d200971f8111c9d72a59e45db3ddca322bb2' + 'aa42070d84d055311d39d8020d1606e116687ef2c6d515364e55d3e1d42db98d') validpgpkeys=('11E521D646982372EB577A1F8F0871F202119294') prepare() { @@ -81,6 +83,10 @@ prepare() { # Avoid undefined behavior in unittest by not making a named ArrayRef from a std::initializer_list # https://reviews.llvm.org/D32089 patch -Np0 < ../D32089-Avoid-undefined-behavior-in-unittest.patch + + # Use pre-computed size of struct ustat for Linux + # https://reviews.llvm.org/D47281 + patch -Np0 -d projects/compiler-rt < ../D47281-Use-pre-computed-size-of-struct-ustat.patch } build() { |