summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2018-05-11 21:18:15 +0000
committerSergei Trofimovich <slyfox@gentoo.org>2018-05-11 21:18:15 +0000
commita2a8b3fb16df14c1937da784bd64eece546b0c43 (patch)
treea3492c5aaf773eecd2b06eb7e7ba486f2336de96
parentia64: fix textrels on -rdynamic binaries (diff)
downloadgentoo-a2a8b3fb16df14c1937da784bd64eece546b0c43.tar.gz
gentoo-a2a8b3fb16df14c1937da784bd64eece546b0c43.tar.bz2
gentoo-a2a8b3fb16df14c1937da784bd64eece546b0c43.zip
Queue a fix for -O2 -lto into 1.3 patchset, bug #655518
Reported-by: Steffen Hau Bug: https://gcc.gnu.org/PR85655 Bug: https://bugs.gentoo.org/655518
-rw-r--r--src/patchsets/gcc/8.1.0/gentoo/96_all_lto-O2-PR85655.patch35
-rw-r--r--src/patchsets/gcc/8.1.0/gentoo/README.history1
2 files changed, 36 insertions, 0 deletions
diff --git a/src/patchsets/gcc/8.1.0/gentoo/96_all_lto-O2-PR85655.patch b/src/patchsets/gcc/8.1.0/gentoo/96_all_lto-O2-PR85655.patch
new file mode 100644
index 0000000000..bc25bf8c43
--- /dev/null
+++ b/src/patchsets/gcc/8.1.0/gentoo/96_all_lto-O2-PR85655.patch
@@ -0,0 +1,35 @@
+https://bugs.gentoo.org/655518
+https://gcc.gnu.org/PR85655
+
+From 815f1bcb7b6e7d076317c15a31525fea1b53b0c0 Mon Sep 17 00:00:00 2001
+From: jamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Fri, 11 May 2018 15:58:29 +0000
+Subject: [PATCH] Check is_single_const in intersect_with_plats
+
+2018-05-11 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/85655
+ * ipa-cp.c (intersect_with_plats): Check that the lattice contains
+ single const.
+
+testsuite/
+ * g++.dg/lto/pr85655_0.C: New test.
+
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-8-branch@260166 138bc75d-0d04-0410-961f-82ee72b054a4
+diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c
+index 4f28a55b862..e868b9c2623 100644
+--- a/gcc/ipa-cp.c
++++ b/gcc/ipa-cp.c
+@@ -4127,7 +4127,9 @@ intersect_with_plats (struct ipcp_param_lattices *plats,
+ if (aglat->offset - offset == item->offset)
+ {
+ gcc_checking_assert (item->value);
+- if (values_equal_for_ipcp_p (item->value, aglat->values->value))
++ if (aglat->is_single_const ()
++ && values_equal_for_ipcp_p (item->value,
++ aglat->values->value))
+ found = true;
+ break;
+ }
diff --git a/src/patchsets/gcc/8.1.0/gentoo/README.history b/src/patchsets/gcc/8.1.0/gentoo/README.history
index 862fe2ee9d..7808b426c4 100644
--- a/src/patchsets/gcc/8.1.0/gentoo/README.history
+++ b/src/patchsets/gcc/8.1.0/gentoo/README.history
@@ -1,5 +1,6 @@
1.3 TODO
+ 95_all_ia64-TEXTREL.patch
+ + 96_all_lto-O2-PR85655.patch
1.2 06 May 2018
+ 93_all_arm-arch.patch
+ 94_all_mips-o32-asan.patch