This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Build failure with 3.1 CVS on sparc-sun-solaris2.8
- From: Jeff Sturm <jsturm at one-point dot com>
- To: Brad Lucier <lucier at math dot purdue dot edu>
- Cc: rth at redhat dot com, gcc at gcc dot gnu dot org
- Date: Thu, 7 Feb 2002 00:34:38 -0500 (EST)
- Subject: Re: Build failure with 3.1 CVS on sparc-sun-solaris2.8
On Wed, 6 Feb 2002, Brad Lucier wrote:
> 0x1002aff90 in ggc_set_mark ()
> (gdb) disassem
> Dump of assembler code for function ggc_set_mark:
> 0x1002aff90 <ggc_set_mark>: save %sp, -2240, %sp
That's not a reasonable stack frame. Well, not for ggc_set_mark anyway.
Richard, taking the stack bias out of STARTING_FRAME_OFFSET causes
compute_frame_size to get the wrong answer.
Perhaps this'd work? (Untested; I've really got to get my sparc back
online.)
2002-02-06 Jeff Sturm <jsturm@one-point.com>
* config/sparc/sparc.c (compute_frame_size): Don't correct frame
offset for stack bias.
Index: sparc.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/sparc/sparc.c,v
retrieving revision 1.181
diff -u -p -r1.181 sparc.c
--- sparc.c 2002/02/04 18:16:06 1.181
+++ sparc.c 2002/02/07 05:29:06
@@ -3383,9 +3383,8 @@ compute_frame_size (size, leaf_function)
}
else
{
- /* We subtract STARTING_FRAME_OFFSET, remember it's negative.
- The stack bias (if any) is taken out to undo its effects. */
- apparent_fsize = (size - STARTING_FRAME_OFFSET + SPARC_STACK_BIAS +
7) & -8;
+ /* We subtract STARTING_FRAME_OFFSET, remember it's negative. */
+ apparent_fsize = (size - STARTING_FRAME_OFFSET + 7) & -8;
apparent_fsize += n_regs * 4;
actual_fsize = apparent_fsize + ((outgoing_args_size + 7) & -8);
}