summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorTavian Barnes2018-05-11 13:37:19 -0400
committerTavian Barnes2018-05-11 14:10:54 -0400
commitbc52efefe8d270b4a90e23460971e1c30112820e (patch)
treec6824c5346d72ff17f1c4b08c343cbc81bfbbeec
parent390173b60899f4ef1c384cd8e9ce569c779ad192 (diff)
downloadaur-bc52efefe8d270b4a90e23460971e1c30112820e.tar.gz
Bump to 8.1.0-1
-rw-r--r--.SRCINFO22
-rw-r--r--.gitignore4
-rw-r--r--PKGBUILD36
-rw-r--r--PR82155.patch119
-rw-r--r--Revert-eeb6872bf.patch82
-rw-r--r--pr66035.patch48
6 files changed, 26 insertions, 285 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 5beb0342c563..dcab1e164b8d 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 38b5f5e8e180..bcfe8d16b455 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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));