diff options
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.patch | 45 |
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 @@ | |||
1 | From 82ededd899a80bf419dd2c4d942a4776a1e13dd5 Mon Sep 17 00:00:00 2001 | ||
2 | From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | ||
3 | Date: Sun, 5 Jun 2011 23:20:21 +0000 | ||
4 | Subject: [PATCH] * config/sparc/sparc.c (output_return): Fix thinko in the output of an | ||
5 | EH return when delayed branches are disabled. | ||
6 | |||
7 | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174671 138bc75d-0d04-0410-961f-82ee72b054a4 | ||
8 | |||
9 | index 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 | -- | ||
44 | 1.7.0.4 | ||
45 | |||