aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <merrill@gnu.org>1997-07-12 09:08:45 +0000
committerJason Merrill <merrill@gnu.org>1997-07-12 09:08:45 +0000
commit84e884e9061eea3b28c3a6775b1ea0c3520a2fbf (patch)
treeb343e0a7872b5839de6a93908bafad621a9e1a7a /gcc
parent1f2d8f510f4e516803427373e1625991756d4d91 (diff)
downloadgcc-84e884e9061eea3b28c3a6775b1ea0c3520a2fbf.zip
gcc-84e884e9061eea3b28c3a6775b1ea0c3520a2fbf.tar.gz
gcc-84e884e9061eea3b28c3a6775b1ea0c3520a2fbf.tar.bz2
x
From-SVN: r14413
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/sparc/sparc.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
index 9cf0974..5d38528 100644
--- a/gcc/config/sparc/sparc.c
+++ b/gcc/config/sparc/sparc.c
@@ -3231,7 +3231,8 @@ output_function_prologue (file, size, leaf_function)
int offset, real_offset, n_regs;
char *base;
- real_offset = offset = -apparent_fsize + frame_base_offset;
+ real_offset = -apparent_fsize;
+ offset = -apparent_fsize + frame_base_offset;
if (offset < -4096 || offset + num_gfregs * 4 > 4096)
{
/* ??? This might be optimized a little as %g1 might already have a
@@ -4898,7 +4899,7 @@ sparc_flat_output_function_prologue (file, size)
sparc_flat_save_restore (file, sp_str, reg_offset,
gmask & ~(FRAME_POINTER_MASK | RETURN_ADDR_MASK),
current_frame_info.fmask,
- "st", "std", 0);
+ "st", "std", -size);
}
else
{
@@ -4960,7 +4961,7 @@ sparc_flat_output_function_prologue (file, size)
sparc_flat_save_restore (file, sp_str, offset,
gmask & ~(FRAME_POINTER_MASK | RETURN_ADDR_MASK),
current_frame_info.fmask,
- "st", "std", size - size1);
+ "st", "std", -size1);
fprintf (file, "\tset %d,%s\n\tsub %s,%s,%s\n",
size - size1, t1_str, sp_str, t1_str, sp_str);
#ifdef DWARF2_DEBUGGING_INFO