This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: sparc.c:save_regs() offsets passed to dwarf2 code
- To: davem at jenolan dot rutgers dot edu (David S. Miller)
- Subject: Re: sparc.c:save_regs() offsets passed to dwarf2 code
- From: Richard Henderson <rth at cygnus dot com>
- Date: Sun, 21 Sep 1997 12:53:46 -0700 (PDT)
- Cc: egcs at cygnus dot com, jason at cygnus dot com
- Reply-To: rth at cygnus dot com (Richard Henderson)
> A value relative to real_offset is what is passed to the dwarf code,
> this causes an assertion failure (for offset>=0) in reg_save().
>
> What was intended here? (note that STACK_BIAS is involved in these
> cases, so this may be contributing, but somehow I doubt it)
What is intended is for offset to be an unsigned displacement from
the "canonical frame address" (cfa), which is a dwarf invention.
The cfa remains constant througout the function, despite pushes,
pops, and other such adjustments that may ocurr in the prologue
and epilogue.
It seems likely to me that the stack_bias is involved, and that
the incomming cfa offset (off the stack pointer) is incorrect,
which would affect everything after that.
r~