summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiroaki Etoh <etoh@cvs.openbsd.org>2003-02-03 09:17:19 +0000
committerHiroaki Etoh <etoh@cvs.openbsd.org>2003-02-03 09:17:19 +0000
commitd2e7d652311e2aff60d568d1a2c6057472dc749b (patch)
tree33e8c54c01c9df63eb8fccd38178ff8f6431e073
parent5d3b1bfd057c043494b953dd8ca8990c870f3984 (diff)
modify plus_constant_wide to provide the address of frame pointer plus zero constant.
-rw-r--r--gnu/egcs/gcc/explow.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gnu/egcs/gcc/explow.c b/gnu/egcs/gcc/explow.c
index 603a8d7c594..982927d6aa2 100644
--- a/gnu/egcs/gcc/explow.c
+++ b/gnu/egcs/gcc/explow.c
@@ -52,7 +52,8 @@ plus_constant_wide (x, c)
register rtx tem;
int all_constant = 0;
- if (c == 0)
+ if (c == 0
+ && !(flag_propolice_protection && x == virtual_stack_vars_rtx))
return x;
restart:
@@ -149,7 +150,8 @@ plus_constant_wide (x, c)
break;
}
- if (c != 0)
+ if (c != 0
+ || (flag_propolice_protection && x == virtual_stack_vars_rtx))
x = gen_rtx_PLUS (mode, x, GEN_INT (c));
if (GET_CODE (x) == SYMBOL_REF || GET_CODE (x) == LABEL_REF)