sparc.c:save_regs() offsets passed to dwarf2 code
Richard Henderson
rth@cygnus.com
Sun Sep 21 12:56:00 GMT 1997
> 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~
More information about the Gcc
mailing list