diff options
author | Tavian Barnes | 2018-05-11 13:37:19 -0400 |
---|---|---|
committer | Tavian Barnes | 2018-05-11 14:10:54 -0400 |
commit | bc52efefe8d270b4a90e23460971e1c30112820e (patch) | |
tree | c6824c5346d72ff17f1c4b08c343cbc81bfbbeec | |
parent | 390173b60899f4ef1c384cd8e9ce569c779ad192 (diff) | |
download | aur-bc52efefe8d270b4a90e23460971e1c30112820e.tar.gz |
Bump to 8.1.0-1
-rw-r--r-- | .SRCINFO | 22 | ||||
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | PKGBUILD | 36 | ||||
-rw-r--r-- | PR82155.patch | 119 | ||||
-rw-r--r-- | Revert-eeb6872bf.patch | 82 | ||||
-rw-r--r-- | pr66035.patch | 48 |
6 files changed, 26 insertions, 285 deletions
@@ -1,9 +1,9 @@ # Generated by mksrcinfo v8 -# Sat Sep 23 13:27:05 UTC 2017 +# Fri May 11 17:37:12 UTC 2018 pkgbase = arm-linux-gnueabihf-gcc-stage2 pkgdesc = The GNU Compiler Collection. Stage 2 for toolchain building (arm-linux-gnueabihf) - pkgver = 7.2.0 - pkgrel = 3 + pkgver = 8.1.0 + pkgrel = 1 url = http://gcc.gnu.org arch = i686 arch = x86_64 @@ -11,24 +11,20 @@ pkgbase = arm-linux-gnueabihf-gcc-stage2 license = LGPL license = FDL license = custom - depends = arm-linux-gnueabihf-binutils>=2.29.0-1 - depends = arm-linux-gnueabihf-glibc-headers>=2.26-4 + depends = arm-linux-gnueabihf-binutils>=2.30-4 + depends = arm-linux-gnueabihf-glibc-headers>=2.27-3 depends = libmpc depends = zlib - provides = arm-linux-gnueabihf-gcc-stage1=7.2.0 + provides = arm-linux-gnueabihf-gcc-stage1=8.1.0 conflicts = arm-linux-gnueabihf-gcc-stage1 replaces = arm-linux-gnueabihf-gcc-stage1 options = !emptydirs options = !distcc options = !strip - source = https://github.com/gcc-mirror/gcc/archive/1bd23ca8c30f4827c4bea23deedf7ca33a86ffb5.tar.gz + source = https://ftp.gnu.org/gnu/gcc/gcc-8.1.0/gcc-8.1.0.tar.xz source = http://isl.gforge.inria.fr/isl-0.18.tar.bz2 - source = Revert-eeb6872bf.patch - source = PR82155.patch - md5sums = 1b6966a45fe43445ae7ae4ffd5d43df9 - md5sums = 11436d6b205e516635b666090b94ab32 - md5sums = e4c9c8b498b04c0f51d219d025ca8407 - md5sums = e77419f7d25aad0980c765012dc8c417 + sha256sums = 1d1866f992626e61349a1ccd0b8d5253816222cdc13390dcfaa74b093aa2b153 + sha256sums = 6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b pkgname = arm-linux-gnueabihf-gcc-stage2 diff --git a/.gitignore b/.gitignore index 7eb1956e4830..e81be44c7916 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,6 @@ *.pkg.* src/ pkg/ -*.tar.gz -*.tar.bz2 +*.tar.* *.sig -*.sign *.part @@ -6,31 +6,33 @@ _target="arm-linux-gnueabihf" pkgname=${_target}-gcc-stage2 -pkgver=7.2.0 -_pkgver=${pkgver:0:1} +pkgver=8.1.0 +_majorver=${pkgver:0:1} _islver=0.18 -pkgrel=3 -_commit=1bd23ca8c30f4827c4bea23deedf7ca33a86ffb5 +pkgrel=1 pkgdesc="The GNU Compiler Collection. Stage 2 for toolchain building (${_target})" arch=(i686 x86_64) license=(GPL LGPL FDL custom) url='http://gcc.gnu.org' -depends=("${_target}-binutils>=2.29.0-1" "${_target}-glibc-headers>=2.26-4" libmpc zlib) +depends=("${_target}-binutils>=2.30-4" "${_target}-glibc-headers>=2.27-3" libmpc zlib) options=(!emptydirs !distcc !strip) conflicts=("${_target}-gcc-stage1") replaces=("${_target}-gcc-stage1") provides=("${_target}-gcc-stage1=${pkgver}") -source=(https://github.com/gcc-mirror/gcc/archive/${_commit}.tar.gz - http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2 - Revert-eeb6872bf.patch - PR82155.patch) -md5sums=('1b6966a45fe43445ae7ae4ffd5d43df9' - '11436d6b205e516635b666090b94ab32' - 'e4c9c8b498b04c0f51d219d025ca8407' - 'e77419f7d25aad0980c765012dc8c417') +#source=(https://sources.archlinux.org/other/gcc/gcc-${pkgver/+/-}.tar.xz{,.sig} +source=(https://ftp.gnu.org/gnu/gcc/gcc-$pkgver/gcc-$pkgver.tar.xz + http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2) +sha256sums=('1d1866f992626e61349a1ccd0b8d5253816222cdc13390dcfaa74b093aa2b153' + '6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b') +validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org + 13975A70E63C361C73AE69EF6EEB81F8981C74C7) # richard.guenther@gmail.com + +_svnrev=259195 +_svnurl=svn://gcc.gnu.org/svn/gcc/branches/gcc-${_majorver}-branch +_libdir=usr/lib/gcc/$CHOST/${pkgver%%+*} prepare() { - mv gcc-${_commit}* gcc + [[ ! -d gcc ]] && ln -s gcc-${pkgver/+/-} gcc cd gcc # link isl for in-tree build @@ -42,13 +44,7 @@ prepare() { # hack! - some configure tests for header files using "$CPP $CPPFLAGS" sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80717 - patch -p1 -i ${srcdir}/Revert-eeb6872bf.patch - mkdir -p "$srcdir/gcc-build" - - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82155 - patch -p1 -i ../PR82155.patch } build() { diff --git a/PR82155.patch b/PR82155.patch deleted file mode 100644 index f55bb934c0b0..000000000000 --- a/PR82155.patch +++ /dev/null @@ -1,119 +0,0 @@ -From: Pierre-Marie de Rodat <derodat at adacore dot com> -To: gcc-patches at gcc dot gnu dot org -Cc: Pierre-Marie de Rodat <derodat at adacore dot com> -Subject: [PATCH] [PR82155] Fix crash in dwarf2out_abstract_function -Date: Tue, 12 Sep 2017 08:00:03 +0200 -Message-Id: <20170912060003.32378-1-derodat@adacore.com> -X-IsSubscribed: yes - -Hello, - -This patch is an attempt to fix the crash reported in PR82155. - -When generating a C++ class method for a class that is itself nested in -a class method, dwarf2out_early_global_decl currently leaves the -existing context DIE as it is if it already exists. However, it is -possible that this call happens at a point where this context DIE is -just a declaration that is itself not located in its own context. - ->From there, if dwarf2out_early_global_decl is not called on any of the -FUNCTION_DECL in the context chain, DIEs will be left badly scoped and -some (such as the nested method) will be removed by the type pruning -machinery. As a consequence, dwarf2out_abstract_function will will -crash when called on the corresponding DECL because it asserts that the -DECL has a DIE. - -This patch fixes this crash making dwarf2out_early_global_decl process -context DIEs the same way we process abstract origins for FUNCTION_DECL: -if the corresponding DIE exists but is only a declaration, call -dwarf2out_decl anyway on it so that it is turned into a more complete -DIE and so that it is relocated in the proper context. - -Bootstrapped and regtested on x86_64-linux. The crash this addresses is -present both on trunk and on the gcc-7 branch: I suggest we commit this -patch on both branches. Ok to commit? Thank you in advance! - -gcc/ - - PR debug/82155 - * dwarf2out.c (dwarf2out_early_global_decl): Call dwarf2out_decl - on the FUNCTION_DECL function context if it has a DIE that is a - declaration. - -gcc/testsuite/ - - * g++.dg/pr82155.C: New testcase. ---- - gcc/dwarf2out.c | 10 ++++++++-- - gcc/testsuite/g++.dg/pr82155.C | 36 ++++++++++++++++++++++++++++++++++++ - 2 files changed, 44 insertions(+), 2 deletions(-) - create mode 100644 gcc/testsuite/g++.dg/pr82155.C - -diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c -index 00d6d951ba3..4cfc9c186af 100644 ---- a/gcc/dwarf2out.c -+++ b/gcc/dwarf2out.c -@@ -25500,10 +25500,16 @@ dwarf2out_early_global_decl (tree decl) - so that all nested DIEs are generated at the proper scope in the - first shot. */ - tree context = decl_function_context (decl); -- if (context != NULL && lookup_decl_die (context) == NULL) -+ if (context != NULL) - { -+ dw_die_ref context_die = lookup_decl_die (context); - current_function_decl = context; -- dwarf2out_decl (context); -+ -+ /* Avoid emitting DIEs multiple times, but still process CONTEXT -+ enough so that it lands in its own context. This avoids type -+ pruning issues later on. */ -+ if (context_die == NULL || is_declaration_die (context_die)) -+ dwarf2out_decl (context); - } - - /* Emit an abstract origin of a function first. This happens -diff --git a/gcc/testsuite/g++.dg/pr82155.C b/gcc/testsuite/g++.dg/pr82155.C -new file mode 100644 -index 00000000000..75d9b615f39 ---- /dev/null -+++ b/gcc/testsuite/g++.dg/pr82155.C -@@ -0,0 +1,36 @@ -+/* { dg-do compile { target c++11 } } */ -+/* { dg-options "-g -O2" } */ -+ -+template <typename a> struct b { a c; }; -+template <typename d> struct e { d *operator->(); }; -+template <typename d> class h { -+public: -+ typedef e<d> ag; -+}; -+class i { -+protected: -+ i(int); -+}; -+class j { -+ virtual void k(int) = 0; -+ -+public: -+ int f; -+ void l() { k(f); } -+}; -+struct m : i { -+ int cn; -+ m() : i(cn) { -+ struct n : j { -+ n() {} -+ void k(int) {} -+ }; -+ } -+}; -+struct o { -+ o() { -+ for (h<b<b<j *>>>::ag g;;) -+ g->c.c->l(); -+ } -+}; -+void fn1() { o(); } --- -2.14.1 - diff --git a/Revert-eeb6872bf.patch b/Revert-eeb6872bf.patch deleted file mode 100644 index 1688c149a805..000000000000 --- a/Revert-eeb6872bf.patch +++ /dev/null @@ -1,82 +0,0 @@ -commit 43d83a70267a9e5c456d28de8e7348820446b712 -Author: Bartłomiej Piotrowski <bpiotrowski@archlinux.org> -Date: Tue May 16 07:50:42 2017 +0200 - - Revert "Prevent LTO wrappers to process a recursive execution" - - This reverts commit eeb6872bfdfd1e71b27de6f62a5f5c08a2efb015. - -diff --git a/gcc/file-find.c b/gcc/file-find.c -index b072a4993d76..b5a1fe8494e8 100644 ---- a/gcc/file-find.c -+++ b/gcc/file-find.c -@@ -208,38 +208,3 @@ prefix_from_string (const char *p, struct path_prefix *pprefix) - } - free (nstore); - } -- --void --remove_prefix (const char *prefix, struct path_prefix *pprefix) --{ -- struct prefix_list *remove, **prev, **remove_prev = NULL; -- int max_len = 0; -- -- if (pprefix->plist) -- { -- prev = &pprefix->plist; -- for (struct prefix_list *pl = pprefix->plist; pl->next; pl = pl->next) -- { -- if (strcmp (prefix, pl->prefix) == 0) -- { -- remove = pl; -- remove_prev = prev; -- continue; -- } -- -- int l = strlen (pl->prefix); -- if (l > max_len) -- max_len = l; -- -- prev = &pl; -- } -- -- if (remove_prev) -- { -- *remove_prev = remove->next; -- free (remove); -- } -- -- pprefix->max_len = max_len; -- } --} -diff --git a/gcc/file-find.h b/gcc/file-find.h -index 8f49a3af273e..407feba26e74 100644 ---- a/gcc/file-find.h -+++ b/gcc/file-find.h -@@ -41,7 +41,6 @@ extern void find_file_set_debug (bool); - extern char *find_a_file (struct path_prefix *, const char *, int); - extern void add_prefix (struct path_prefix *, const char *); - extern void add_prefix_begin (struct path_prefix *, const char *); --extern void remove_prefix (const char *prefix, struct path_prefix *); - extern void prefix_from_env (const char *, struct path_prefix *); - extern void prefix_from_string (const char *, struct path_prefix *); - -diff --git a/gcc/gcc-ar.c b/gcc/gcc-ar.c -index 78d2fc1ad306..d5d80e042e5a 100644 ---- a/gcc/gcc-ar.c -+++ b/gcc/gcc-ar.c -@@ -194,14 +194,6 @@ main (int ac, char **av) - #ifdef CROSS_DIRECTORY_STRUCTURE - real_exe_name = concat (target_machine, "-", PERSONALITY, NULL); - #endif -- /* Do not search original location in the same folder. */ -- char *exe_folder = lrealpath (av[0]); -- exe_folder[strlen (exe_folder) - strlen (lbasename (exe_folder))] = '\0'; -- char *location = concat (exe_folder, PERSONALITY, NULL); -- -- if (access (location, X_OK) == 0) -- remove_prefix (exe_folder, &path); -- - exe_name = find_a_file (&path, real_exe_name, X_OK); - if (!exe_name) - { diff --git a/pr66035.patch b/pr66035.patch deleted file mode 100644 index c51822ca1f2c..000000000000 --- a/pr66035.patch +++ /dev/null @@ -1,48 +0,0 @@ ---- a/gcc/fortran/trans-expr.c -+++ a/gcc/fortran/trans-expr.c -@@ -6897,6 +6897,30 @@ alloc_scalar_allocatable_for_subcomponent_assignment (stmtblock_t *block, - TREE_TYPE (tmp), tmp, - fold_convert (TREE_TYPE (tmp), size)); - } -+ else if (cm->ts.type == BT_CLASS) -+ { -+ gcc_assert (expr2->ts.type == BT_CLASS || expr2->ts.type == BT_DERIVED); -+ if (expr2->ts.type == BT_DERIVED) -+ { -+ tmp = gfc_get_symbol_decl (gfc_find_vtab (&expr2->ts)); -+ tmp = gfc_build_addr_expr (NULL_TREE, tmp); -+ size = fold_convert (size_type_node, gfc_vptr_size_get (tmp)); -+ } -+ else -+ { -+ gfc_expr *e2vtab; -+ gfc_se se; -+ e2vtab = gfc_find_and_cut_at_last_class_ref (expr2); -+ gfc_add_vptr_component (e2vtab); -+ gfc_add_size_component (e2vtab); -+ gfc_init_se (&se, NULL); -+ gfc_conv_expr (&se, e2vtab); -+ gfc_add_block_to_block (block, &se.pre); -+ size = fold_convert (size_type_node, se.expr); -+ gfc_free_expr (e2vtab); -+ } -+ size_in_bytes = size; -+ } - else - { - /* Otherwise use the length in bytes of the rhs. */ -@@ -7068,6 +7092,14 @@ gfc_trans_subcomponent_assign (tree dest, gfc_component * cm, gfc_expr * expr, - tmp = gfc_build_memcpy_call (tmp, se.expr, size); - gfc_add_expr_to_block (&block, tmp); - } -+ else if (cm->ts.type == BT_CLASS && expr->ts.type == BT_CLASS) -+ { -+ tmp = gfc_copy_class_to_class (se.expr, dest, integer_one_node, -+ CLASS_DATA (cm)->attr.unlimited_polymorphic); -+ gfc_add_expr_to_block (&block, tmp); -+ gfc_add_modify (&block, gfc_class_vptr_get (dest), -+ gfc_class_vptr_get (se.expr)); -+ } - else - gfc_add_modify (&block, tmp, - fold_convert (TREE_TYPE (tmp), se.expr)); |