summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog3
-rw-r--r--debian/patches/pr61208-linaro.diff30
-rw-r--r--debian/patches/pr61208-revert.diff21
-rw-r--r--debian/rules.patch4
4 files changed, 57 insertions, 1 deletions
diff --git a/debian/changelog b/debian/changelog
index ac76c0c..8c98477 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
-gcc-4.8 (4.8.3-2) UNRELEASED; urgency=medium
+gcc-4.8 (4.8.3-2) unstable; urgency=medium
* Update to SVN 20140526 (r210209) from the gcc-4_8-branch.
+ - Fix PR target/61208. Closes: #748422.
-- Matthias Klose <doko@debian.org> Mon, 26 May 2014 11:07:40 +0200
diff --git a/debian/patches/pr61208-linaro.diff b/debian/patches/pr61208-linaro.diff
new file mode 100644
index 0000000..fd47ae9
--- /dev/null
+++ b/debian/patches/pr61208-linaro.diff
@@ -0,0 +1,30 @@
+# DP: Fix PR target/61208 (ARM) for the Linaro branch, taken from the trunk.
+
+Index: b/src/gcc/config/arm/arm.md
+===================================================================
+--- a/src/gcc/config/arm/arm.md
++++ b/src/gcc/config/arm/arm.md
+@@ -8480,8 +8480,8 @@
+
+ (define_insn_and_split "*arm_cmpdi_unsigned"
+ [(set (reg:CC_CZ CC_REGNUM)
+- (compare:CC_CZ (match_operand:DI 0 "s_register_operand" "l,r,r")
+- (match_operand:DI 1 "arm_di_operand" "Py,r,rDi")))]
++ (compare:CC_CZ (match_operand:DI 0 "s_register_operand" "l,r,r,r")
++ (match_operand:DI 1 "arm_di_operand" "Py,r,Di,rDi")))]
+
+ "TARGET_32BIT"
+ "#" ; "cmp\\t%R0, %R1\;it eq\;cmpeq\\t%Q0, %Q1"
+@@ -8501,9 +8501,9 @@
+ operands[1] = gen_lowpart (SImode, operands[1]);
+ }
+ [(set_attr "conds" "set")
+- (set_attr "enabled_for_depr_it" "yes,yes,no")
+- (set_attr "arch" "t2,t2,*")
+- (set_attr "length" "6,6,8")]
++ (set_attr "enabled_for_depr_it" "yes,yes,no,*")
++ (set_attr "arch" "t2,t2,t2,a")
++ (set_attr "length" "6,6,10,8")
+ )
+
+ (define_insn "*arm_cmpdi_zero"
diff --git a/debian/patches/pr61208-revert.diff b/debian/patches/pr61208-revert.diff
new file mode 100644
index 0000000..dc4d1da
--- /dev/null
+++ b/debian/patches/pr61208-revert.diff
@@ -0,0 +1,21 @@
+# DP: Revert the 4.8 version of the PR target/61208 (ARM) fix.
+
+--- a/src/gcc/config/arm/arm.md
++++ b/src/gcc/config/arm/arm.md
+@@ -7630,13 +7630,12 @@
+
+ (define_insn "*arm_cmpdi_unsigned"
+ [(set (reg:CC_CZ CC_REGNUM)
+- (compare:CC_CZ (match_operand:DI 0 "s_register_operand" "r,r")
+- (match_operand:DI 1 "arm_di_operand" "rDi,rDi")))]
++ (compare:CC_CZ (match_operand:DI 0 "s_register_operand" "r")
++ (match_operand:DI 1 "arm_di_operand" "rDi")))]
+ "TARGET_32BIT"
+ "cmp\\t%R0, %R1\;it eq\;cmpeq\\t%Q0, %Q1"
+ [(set_attr "conds" "set")
+- (set_attr "arch" "a,t2")
+- (set_attr "length" "8,10")]
++ (set_attr "length" "8")]
+ )
+
+ (define_insn "*arm_cmpdi_zero"
diff --git a/debian/rules.patch b/debian/rules.patch
index 390fd2c..487cdf4 100644
--- a/debian/rules.patch
+++ b/debian/rules.patch
@@ -14,9 +14,13 @@ series_file ?= $(patchdir)/series
debian_patches = \
svn-updates \
+ $(if $(with_linaro_branch),pr61208-revert) \
$(if $(with_linaro_branch),gcc-linaro) \
$(if $(with_linaro_branch),gcc-linaro-no-local) \
+# FIXME: pr61208 requires Linaro 4.9-2014.04.
+ $(if $(with_linaro_branch),pr61208-linaro) \
+
ifeq ($(with_java),yes)
# debian_patches += \
# svn-class-updates