diff --git a/core/gcc/PKGBUILD b/core/gcc/PKGBUILD index 274e11f28..2c16e74b6 100644 --- a/core/gcc/PKGBUILD +++ b/core/gcc/PKGBUILD @@ -16,8 +16,8 @@ noautobuild=1 pkgname=(gcc gcc-libs gcc-fortran gcc-objc gcc-go gcc-d) -pkgver=9.3.0 -_majorver=${pkgver:0:1} +pkgver=10.1.0 +_majorver=${pkgver%%.*} _islver=0.21 pkgrel=1 pkgdesc='The GNU Compiler Collection' @@ -30,27 +30,23 @@ options=(!emptydirs !distcc) _libdir=usr/lib/gcc/$CHOST/${pkgver%%+*} # _commit=6957d3e4eef1f4243eb23ff62aea06139ef4415a # source=(git://gcc.gnu.org/git/gcc.git#commit=$_commit -source=(https://ftp.gnu.org/gnu/gcc/gcc-$pkgver/gcc-$pkgver.tar.xz{,.sig} +source=(https://sourceware.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.xz{,.sig} http://isl.gforge.inria.fr/isl-${_islver}.tar.xz c89 c99 gdc_phobos_path.patch - gdc_artificial_decl.patch - gdc_thunk_weak_ref.patch fs64270.patch 0001-ARMv5-disable-LDRD-STRD.patch) validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org 86CFFCA918CF3AF47147588051E8B148A9999C34 # evangelos@foutrelis.com 13975A70E63C361C73AE69EF6EEB81F8981C74C7 # richard.guenther@gmail.com 33C235A34C46AA3FFB293709A328C3A2C3C45C06) # Jakub Jelinek -sha256sums=('71e197867611f6054aa1119b13a0c0abac12834765fe2d81f35ac57f84f742d1' +sha256sums=('b6898a23844b656f1b68691c5c012036c2e694ac4b53a8918d4712ad876e7ea2' 'SKIP' '777058852a3db9500954361e294881214f6ecd4b594c00da5eee974cd6a54960' 'de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931' '2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a' 'c86372c207d174c0918d4aedf1cb79f7fc093649eb1ad8d9450dccc46849d308' - '3862757491160700ac2fb723096f6f636f30320cccc6efd9537149ed348b57d1' - '9699d7105375754f0dcf6abff87d09b270565bfc6578a13641770f3fc62d678a' - 'f45160f699501568ae9e81127562395dd95b5b4a8e4d55a1615fbb00f9e4deb2' + '1ef190ed4562c4db8c1196952616cd201cfdd788b65f302ac2cc4dabb4d72cee' 'ac6663528a1cbea30ed9627ef41ef13f25b3cd49c31e22b45b04aa911e6f562f') prepare() { @@ -74,8 +70,6 @@ prepare() { # D hacks patch -p1 -i "$srcdir/gdc_phobos_path.patch" - patch -p1 -i "$srcdir/gdc_artificial_decl.patch" - patch -p1 -i "$srcdir/gdc_thunk_weak_ref.patch" # Turn off SSP for nostdlib|nodefaultlibs|ffreestanding # https://bugs.archlinux.org/task/64270 @@ -108,27 +102,27 @@ build() { --infodir=/usr/share/info \ --with-bugurl=https://github.com/archlinuxarm/PKGBUILDs/issues \ --enable-languages=c,c++,fortran,go,lto,objc,obj-c++,d \ - --enable-shared \ - --enable-threads=posix \ - --with-system-zlib \ --with-isl \ + --with-linker-hash-style=gnu \ + --with-system-zlib \ --enable-__cxa_atexit \ - --disable-libunwind-exceptions \ + --enable-checking=release \ --enable-clocale=gnu \ - --disable-libstdcxx-pch \ - --disable-libssp \ + --enable-default-pie \ + --enable-default-ssp \ + --enable-gnu-indirect-function \ --enable-gnu-unique-object \ + --enable-install-libiberty \ --enable-linker-build-id \ --enable-lto \ --enable-plugin \ - --enable-install-libiberty \ - --with-linker-hash-style=gnu \ - --enable-gnu-indirect-function \ + --enable-shared \ + --enable-threads=posix \ + --disable-libssp \ + --disable-libstdcxx-pch \ + --disable-libunwind-exceptions \ --disable-multilib \ --disable-werror \ - --enable-checking=release \ - --enable-default-pie \ - --enable-default-ssp \ $CONFIGFLAG \ gdc_include_dir=/usr/include/dlang/gdc diff --git a/core/gcc/fs64270.patch b/core/gcc/fs64270.patch index d2deac760..7b9e142c6 100644 --- a/core/gcc/fs64270.patch +++ b/core/gcc/fs64270.patch @@ -1,5 +1,4 @@ Disable ssp on -nostdlib, -nodefaultlibs and -ffreestanding -Change the buffer size. --- a/gcc/gcc.c 2017-07-04 09:15:57.740793000 +0200 +++ b/gcc/gcc.c 2018-03-02 13:58:44.387741114 +0100 @@ -25,14 +24,3 @@ Change the buffer size. %{coverage:-fprofile-arcs -ftest-coverage}\ %{fprofile-arcs|fprofile-generate*|coverage:\ %{!fprofile-update=singel:\ ---- a/gcc/params.def 2016-03-30 09:47:40.000000000 +0200 -+++ b/gcc/params.def 2016-09-19 12:56:58.443179039 +0200 -@@ -673,7 +673,7 @@ DEFPARAM (PARAM_INTEGER_SHARE_LIMIT, - DEFPARAM (PARAM_SSP_BUFFER_SIZE, - "ssp-buffer-size", - "The lower bound for a buffer to be considered for stack smashing protection.", -- 8, 1, 0) -+ 4, 1, 0) - - DEFPARAM (PARAM_MIN_SIZE_FOR_STACK_SHARING, - "min-size-for-stack-sharing", diff --git a/core/gcc/gdc_artificial_decl.patch b/core/gcc/gdc_artificial_decl.patch deleted file mode 100644 index f926956b0..000000000 --- a/core/gcc/gdc_artificial_decl.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --git a/gcc/d/d-tree.h b/gcc/d/d-tree.h -index a514bc3902f..303d52390c2 100644 ---- a/gcc/d/d-tree.h -+++ b/gcc/d/d-tree.h -@@ -600,6 +600,7 @@ extern tree d_signed_type (tree); - extern void d_keep (tree); - - /* In decl.cc. */ -+extern const char *mangle_decl (Dsymbol *); - extern tree mangle_internal_decl (Dsymbol *, const char *, const char *); - extern void build_decl_tree (Dsymbol *); - extern tree get_symbol_decl (Declaration *); -diff --git a/gcc/d/decl.cc b/gcc/d/decl.cc -index 49723649230..90871b4c90b 100644 ---- a/gcc/d/decl.cc -+++ b/gcc/d/decl.cc -@@ -59,7 +59,7 @@ along with GCC; see the file COPYING3. If not see - - /* Return identifier for the external mangled name of DECL. */ - --static const char * -+const char * - mangle_decl (Dsymbol *decl) - { - if (decl->isFuncDeclaration ()) -diff --git a/gcc/d/typeinfo.cc b/gcc/d/typeinfo.cc -index bbd3961181d..a678b7938a6 100644 ---- a/gcc/d/typeinfo.cc -+++ b/gcc/d/typeinfo.cc -@@ -1107,8 +1107,12 @@ public: - CONSTRUCTOR_APPEND_ELT (elms, size_int (i), - build_typeinfo (d->loc, arg->type)); - } -+ -+ const char *prefix = concat (GDC_PREFIX ("__tuple"), -+ mangle_decl (Module::rootModule), NULL); -+ - tree ctor = build_constructor (build_ctype (satype), elms); -- tree decl = build_artificial_decl (TREE_TYPE (ctor), ctor); -+ tree decl = build_artificial_decl (TREE_TYPE (ctor), ctor, prefix); - - /* The internal pointer reference should be public, but not visible outside - the compilation unit, as it's referencing COMDAT decls. */ diff --git a/core/gcc/gdc_thunk_weak_ref.patch b/core/gcc/gdc_thunk_weak_ref.patch deleted file mode 100644 index 1004b5b9b..000000000 --- a/core/gcc/gdc_thunk_weak_ref.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/gcc/d/decl.cc b/gcc/d/decl.cc -index 49723649230..d31f6bef8d4 100644 ---- a/gcc/d/decl.cc -+++ b/gcc/d/decl.cc -@@ -1817,6 +1817,9 @@ make_thunk (FuncDeclaration *decl, int offset) - DECL_COMDAT (thunk) = DECL_COMDAT (function); - DECL_WEAK (thunk) = DECL_WEAK (function); - -+ if (DECL_VISIBILITY (function) == 0) -+ DECL_WEAK (thunk) = 1; -+ - tree target_name = DECL_ASSEMBLER_NAME (function); - unsigned identlen = IDENTIFIER_LENGTH (target_name) + 14; - const char *ident = XNEWVEC (const char, identlen);