aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99507.patch
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99507.patch')
-rw-r--r--toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99507.patch20
1 files changed, 20 insertions, 0 deletions
diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99507.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99507.patch
new file mode 100644
index 0000000000..f3d5eee6e7
--- /dev/null
+++ b/toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99507.patch
@@ -0,0 +1,20 @@
+2011-05-03 Tom de Vries <tom@codesourcery.com>
+
+ gcc/
+ * stmt.c (set_jump_prob): Make robust against *inv_scale == 0.
+
+=== modified file 'gcc/stmt.c'
+--- old/gcc/stmt.c 2011-02-07 13:23:30 +0000
++++ new/gcc/stmt.c 2011-05-06 19:17:34 +0000
+@@ -2312,7 +2312,9 @@
+ set_jump_prob (rtx jump, int prob, int *inv_scale)
+ {
+ /* j[i] = p[i] * scale / REG_BR_PROB_BASE. */
+- int jump_prob = prob * REG_BR_PROB_BASE / *inv_scale;
++ int jump_prob = (*inv_scale > 0
++ ? prob * REG_BR_PROB_BASE / *inv_scale
++ : REG_BR_PROB_BASE / 2);
+ /* f[i] = REG_BR_PROB_BASE - j[i]. */
+ int fallthrough_prob = REG_BR_PROB_BASE - jump_prob;
+
+