summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0389-config-sparc-sparc.c-output_return-Fix-thinko-in-the.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0389-config-sparc-sparc.c-output_return-Fix-thinko-in-the.patch')
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0389-config-sparc-sparc.c-output_return-Fix-thinko-in-the.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0389-config-sparc-sparc.c-output_return-Fix-thinko-in-the.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0389-config-sparc-sparc.c-output_return-Fix-thinko-in-the.patch
new file mode 100644
index 0000000000..7e52179e00
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0389-config-sparc-sparc.c-output_return-Fix-thinko-in-the.patch
@@ -0,0 +1,45 @@
1From 82ededd899a80bf419dd2c4d942a4776a1e13dd5 Mon Sep 17 00:00:00 2001
2From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Sun, 5 Jun 2011 23:20:21 +0000
4Subject: [PATCH] * config/sparc/sparc.c (output_return): Fix thinko in the output of an
5 EH return when delayed branches are disabled.
6
7git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174671 138bc75d-0d04-0410-961f-82ee72b054a4
8
9index c6a2047..753028f 100644
10--- a/gcc/config/sparc/sparc.c
11+++ b/gcc/config/sparc/sparc.c
12@@ -4763,18 +4763,20 @@ output_return (rtx insn)
13 machinery occupies the delay slot. */
14 gcc_assert (! final_sequence);
15
16- if (! flag_delayed_branch)
17- fputs ("\tadd\t%fp, %g1, %fp\n", asm_out_file);
18-
19- if (TARGET_V9)
20- fputs ("\treturn\t%i7+8\n", asm_out_file);
21- else
22- fputs ("\trestore\n\tjmp\t%o7+8\n", asm_out_file);
23+ if (flag_delayed_branch)
24+ {
25+ if (TARGET_V9)
26+ fputs ("\treturn\t%i7+8\n", asm_out_file);
27+ else
28+ fputs ("\trestore\n\tjmp\t%o7+8\n", asm_out_file);
29
30- if (flag_delayed_branch)
31- fputs ("\t add\t%sp, %g1, %sp\n", asm_out_file);
32+ fputs ("\t add\t%sp, %g1, %sp\n", asm_out_file);
33+ }
34 else
35- fputs ("\t nop\n", asm_out_file);
36+ {
37+ fputs ("\trestore\n\tadd\t%sp, %g1, %sp\n", asm_out_file);
38+ fputs ("\tjmp\t%o7+8\n\t nop\n", asm_out_file);
39+ }
40 }
41 else if (final_sequence)
42 {
43--
441.7.0.4
45