diff --git a/extra/llvm/PKGBUILD b/extra/llvm/PKGBUILD index 4cd143dff..464a44c03 100644 --- a/extra/llvm/PKGBUILD +++ b/extra/llvm/PKGBUILD @@ -14,9 +14,9 @@ pkgname=('llvm' 'llvm-libs' 'llvm-ocaml' 'clang' 'clang-analyzer' 'clang-tools-extra') -pkgver=3.4.1 +pkgver=3.4.2 _base_ver=3.4 -pkgrel=2 +pkgrel=1 arch=('i686' 'x86_64') url="http://llvm.org/" license=('custom:University of Illinois/NCSA Open Source License') @@ -27,21 +27,19 @@ source=(http://llvm.org/releases/$pkgver/llvm-$pkgver.src.tar.gz{,.sig} http://llvm.org/releases/$_base_ver/clang-tools-extra-$_base_ver.src.tar.gz{,.sig} http://llvm.org/releases/$_base_ver/compiler-rt-$_base_ver.src.tar.gz{,.sig} clang-3.3-use-gold-linker.patch - clang-3.4-max_align_t.patch clang-3.4-fstack-protector-strong.patch llvm-3.4-provide-cmake-modules.patch llvm-Config-config.h llvm-Config-llvm-config.h) -sha256sums=('7d28bb6eca243a2bb6d65a05743ab915b57958a7770277364e93534b63eef93a' +sha256sums=('17038d47069ad0700c063caed76f0c7259628b0e79651ce2b540d506f2f1efd7' 'SKIP' - 'ab83f30951b34d75729026e0e73c180a728a140f2a02cbb8915805051a9d6bb7' + '5ba6f5772f8d00f445209356a7daf83c5bca2da5acd10de517ad2359ae95bc10' 'SKIP' 'ba85187551ae97fe1c8ab569903beae5ff0900e21233e5eb5389f6ceab1028b4' 'SKIP' 'f37c89b1383ce462d47537a0245ac798600887a9be9f63073e16b79ed536ab5c' 'SKIP' '8240adda155d7961eeb5d07ed50ead10cb7125f70283dff7f1c9fee9df3cea09' - '0f0cbff69af54e83383385abbdeb1fee23e6e69427f8530060c492c0b07c2bbe' '7a2a1ddc94f67e643c1ab74601ec07deb6d5d344d4b19ed17c900afb2f6f2863' 'b6bb154d5ec998328e818bb09acfc6229e41367ba45cea7cc5b2dd2a7c835cf5' '312574e655f9a87784ca416949c505c452b819fad3061f2cde8aced6540a19a3' @@ -70,10 +68,6 @@ prepare() { # Make -flto work; use ld.gold instead of the default linker patch -d tools/clang -Np1 -i "$srcdir/clang-3.3-use-gold-linker.patch" - # Teach Clang to provide ::max_align_t in C11 and C++11 modes (FS#40229) - # http://reviews.llvm.org/rL201729 - patch -d tools/clang -Np0 -i "$srcdir/clang-3.4-max_align_t.patch" - # Add command line option -fstack-protector-strong # http://reviews.llvm.org/rL201120 #patch -d tools/clang -Np0 -i "$srcdir/clang-3.4-fstack-protector-strong.patch" @@ -134,8 +128,8 @@ package_llvm() { mv "$srcdir/clang" tools # The runtime library goes into llvm-libs - mv "$pkgdir/usr/lib/libLLVM-$pkgver.so" "$srcdir" - rm "$pkgdir/usr/lib/libLLVM-$_base_ver.so" + mv "$pkgdir/usr/lib/libLLVM-$pkgver.so" "$srcdir/" + mv "$pkgdir/usr/lib/libLLVM-$_base_ver.so" "$srcdir/" # OCaml bindings go to a separate package rm -rf "$srcdir"/{ocaml,ocamldoc} @@ -180,8 +174,11 @@ package_llvm-libs() { pkgdesc="Low Level Virtual Machine (runtime library)" depends=('gcc-libs' 'zlib' 'libffi' 'ncurses') - install -D "$srcdir/libLLVM-$pkgver.so" "$pkgdir/usr/lib/libLLVM-$pkgver.so" - ln -s libLLVM-$pkgver.so "$pkgdir/usr/lib/libLLVM-$_base_ver.so" + install -d "$pkgdir/usr/lib" + cp -P \ + "$srcdir/libLLVM-$pkgver.so" \ + "$srcdir/libLLVM-$_base_ver.so" \ + "$pkgdir/usr/lib/" install -Dm644 "$srcdir/llvm-$pkgver/LICENSE.TXT" \ "$pkgdir/usr/share/licenses/$pkgname/LICENSE" diff --git a/extra/llvm/clang-3.4-max_align_t.patch b/extra/llvm/clang-3.4-max_align_t.patch deleted file mode 100644 index a41f37e93..000000000 --- a/extra/llvm/clang-3.4-max_align_t.patch +++ /dev/null @@ -1,36 +0,0 @@ -Index: lib/Headers/stddef.h -=================================================================== ---- lib/Headers/stddef.h (revision 201728) -+++ lib/Headers/stddef.h (revision 201729) -@@ -84,6 +84,16 @@ - #endif - #endif - -+#if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L -+typedef struct { -+ long long __clang_max_align_nonce1 -+ __attribute__((__aligned__(__alignof__(long long)))); -+ long double __clang_max_align_nonce2 -+ __attribute__((__aligned__(__alignof__(long double)))); -+} max_align_t; -+#define __CLANG_MAX_ALIGN_T_DEFINED -+#endif -+ - #define offsetof(t, d) __builtin_offsetof(t, d) - - #endif /* __STDDEF_H */ -Index: test/Headers/c11.c -=================================================================== ---- test/Headers/c11.c (revision 201728) -+++ test/Headers/c11.c (revision 201729) -@@ -22,6 +22,10 @@ - #define __STDC_WANT_LIB_EXT1__ 1 - #include - rsize_t x = 0; -+_Static_assert(sizeof(max_align_t) >= sizeof(long long), ""); -+_Static_assert(alignof(max_align_t) >= alignof(long long), ""); -+_Static_assert(sizeof(max_align_t) >= sizeof(long double), ""); -+_Static_assert(alignof(max_align_t) >= alignof(long double), ""); - - // If we are freestanding, then also check RSIZE_MAX (in a hosted implementation - // we will use the host stdint.h, which may not yet have C11 support).