diff options
-rw-r--r-- | debian/changelog | 3 | ||||
-rw-r--r-- | debian/patches/pr61208-linaro.diff | 30 | ||||
-rw-r--r-- | debian/patches/pr61208-revert.diff | 21 | ||||
-rw-r--r-- | debian/rules.patch | 4 |
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 |