aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99525.patch
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99525.patch')
-rw-r--r--toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99525.patch67
1 files changed, 67 insertions, 0 deletions
diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99525.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99525.patch
new file mode 100644
index 0000000000..560a830bfe
--- /dev/null
+++ b/toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99525.patch
@@ -0,0 +1,67 @@
+2011-07-15 Michael Hope <michael.hope@linaro.org>
+
+ gcc/
+ Backport from mainline:
+
+ 2011-04-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * ifcvt.c (cond_exec_process_insns): Disallow converting a block
+ that contains the prologue.
+
+ gcc/testsuite/
+ Backport from mainline:
+
+ 2011-04-01 Bernd Schmidt <bernds@codesourcery.com>
+
+ * gcc.c-torture/compile/20110401-1.c: New test.
+
+=== modified file 'gcc/ifcvt.c'
+--- old/gcc/ifcvt.c 2011-05-05 14:28:53 +0000
++++ new/gcc/ifcvt.c 2011-07-11 04:08:33 +0000
+@@ -1,5 +1,6 @@
+ /* If-conversion support.
+- Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010
++ Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010,
++ 2011
+ Free Software Foundation, Inc.
+
+ This file is part of GCC.
+@@ -311,6 +312,10 @@
+
+ for (insn = start; ; insn = NEXT_INSN (insn))
+ {
++ /* dwarf2out can't cope with conditional prologues. */
++ if (NOTE_P (insn) && NOTE_KIND (insn) == NOTE_INSN_PROLOGUE_END)
++ return FALSE;
++
+ if (NOTE_P (insn) || DEBUG_INSN_P (insn))
+ goto insn_done;
+
+
+=== added file 'gcc/testsuite/gcc.c-torture/compile/20110401-1.c'
+--- old/gcc/testsuite/gcc.c-torture/compile/20110401-1.c 1970-01-01 00:00:00 +0000
++++ new/gcc/testsuite/gcc.c-torture/compile/20110401-1.c 2011-07-11 04:08:33 +0000
+@@ -0,0 +1,22 @@
++void asn1_length_der (unsigned long int len, unsigned char *ans, int *ans_len)
++{
++ int k;
++ unsigned char temp[4];
++ if (len < 128) {
++ if (ans != ((void *) 0))
++ ans[0] = (unsigned char) len;
++ *ans_len = 1;
++ } else {
++ k = 0;
++ while (len) {
++ temp[k++] = len & 0xFF;
++ len = len >> 8;
++ }
++ *ans_len = k + 1;
++ if (ans != ((void *) 0)) {
++ ans[0] = ((unsigned char) k & 0x7F) + 128;
++ while (k--)
++ ans[*ans_len - 1 - k] = temp[k];
++ }
++ }
++}
+