aboutsummaryrefslogtreecommitdiff
path: root/4.6.3
diff options
context:
space:
mode:
authorRyan Hill <rhill@gentoo.org>2013-01-15 02:08:32 +0000
committerRyan Hill <rhill@gentoo.org>2013-01-15 02:08:32 +0000
commit4c28b3859483f80c33b0f999926c427fad1d94a6 (patch)
tree5157adbc049c05ff8d35a7197f3f16acfe0c691f /4.6.3
parentfix from upstream for building with newer glibc #424970 (diff)
downloadgcc-patches-4c28b3859483f80c33b0f999926c427fad1d94a6.tar.gz
gcc-patches-4c28b3859483f80c33b0f999926c427fad1d94a6.tar.bz2
gcc-patches-4c28b3859483f80c33b0f999926c427fad1d94a6.zip
Backport patch for bug #401561.
Diffstat (limited to '4.6.3')
-rw-r--r--4.6.3/gentoo/80_all_arm_4.7_pr50946_qt-webkit-ICE.patch36
-rw-r--r--4.6.3/gentoo/README.history3
2 files changed, 39 insertions, 0 deletions
diff --git a/4.6.3/gentoo/80_all_arm_4.7_pr50946_qt-webkit-ICE.patch b/4.6.3/gentoo/80_all_arm_4.7_pr50946_qt-webkit-ICE.patch
new file mode 100644
index 0000000..e4be2e5
--- /dev/null
+++ b/4.6.3/gentoo/80_all_arm_4.7_pr50946_qt-webkit-ICE.patch
@@ -0,0 +1,36 @@
+[4.6/ICE] in simplify_gen_subreg_concatn, at lower-subreg.c:489 (x11-libs/qt-webkit-4.8.x)
+
+https://bugs.gentoo.org/401561
+http://gcc.gnu.org/PR50946
+http://bugs.debian.org/641849
+https://bugs.launchpad.net/gcc-linaro/+bug/795131
+
+Backport from 4.7
+
+2011-03-25 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Restrict FPA_REGS
+ case to VFPv1.
+
+
+--- a/gcc/config/arm/arm.h
++++ b/gcc/config/arm/arm.h
+@@ -1171,12 +1171,12 @@ enum reg_class
+ }
+
+ /* FPA registers can't do subreg as all values are reformatted to internal
+- precision. VFP registers may only be accessed in the mode they
+- were set. */
+-#define CANNOT_CHANGE_MODE_CLASS(FROM, TO, CLASS) \
+- (GET_MODE_SIZE (FROM) != GET_MODE_SIZE (TO) \
+- ? reg_classes_intersect_p (FPA_REGS, (CLASS)) \
+- || reg_classes_intersect_p (VFP_REGS, (CLASS)) \
++ precision. In VFPv1, VFP registers could only be accessed in the mode
++ they were set, so subregs would be invalid there too. However, we don't
++ support VFPv1 at the moment, and the restriction was lifted in VFPv2. */
++#define CANNOT_CHANGE_MODE_CLASS(FROM, TO, CLASS) \
++ (GET_MODE_SIZE (FROM) != GET_MODE_SIZE (TO) \
++ ? reg_classes_intersect_p (FPA_REGS, (CLASS)) \
+ : 0)
+
+ /* The class value for index registers, and the one for base regs. */
diff --git a/4.6.3/gentoo/README.history b/4.6.3/gentoo/README.history
index 2738b47..27385f3 100644
--- a/4.6.3/gentoo/README.history
+++ b/4.6.3/gentoo/README.history
@@ -1,3 +1,6 @@
+1.10 14 Jan 2013
+ + 80_all_arm_4.7_pr50946_qt-webkit-ICE.patch
+
1.9 21 Dec 2012
+ 56_all_gcc-ppc-vector-pr48226.patch