* tm-sparc.c (EXTRA_FRAME_INFO): New field sp_offset.
authorJim Kingdon <jkingdon@engr.sgi.com>
Sun, 18 Dec 1994 06:59:12 +0000 (06:59 +0000)
committerJim Kingdon <jkingdon@engr.sgi.com>
Sun, 18 Dec 1994 06:59:12 +0000 (06:59 +0000)
commitee7b9e92f6c3749b4657986ba2c3bfeb87d608c5
tree35c8201b2c173aa44013e1749453bafb4530a863
parent4ec56c1fec7ba696ba78aef44fdb646bcf8488c7
* tm-sparc.c (EXTRA_FRAME_INFO): New field sp_offset.
* sparc-tdep.c (sparc_init_extra_frame_info): Set it.
(examine_prologue, sparc_init_extra_frame_info): Use ->frame plus
->sp_offset to compute the address something is saved at, not
->bottom.

* sparc-tdep.c (get_saved_register): New function.
* tm-sparc.h: Define GET_SAVED_REGISTER; don't define
FRAME_FIND_SAVED_REGS, HAVE_REGISTER_WINDOWS or REGISTER_IN_WINDOW_P.
* stack.c (frame_info): Add comment about what to do if
FRAME_FIND_SAVED_REGS is not defined.

* sparc-tdep.c (sparc_init_extra_frame_info): Set ->frame field
here.  Get it right for flat frames.
* sparc-tdep.c (sparc_frame_chain): Instead of returning
meaningful value for ->frame field, just return dummy value.
This change is needed because the old code didn't deal with mixed
flat and non-flat frames.

* sparc-tdep.c (sparc_pop_frame): Write SP_REGNUM from
frame->frame, don't go through saved regs for this.

* sparc-tdep.c: Move guts of skip_prologue to new function
examine_prologue.  Check for flat prologue and set is_flat.
Provide the caller with the information about what is saved where
if desired.
(skip_prologue, sparc_frame_find_saved_regs): Call examine_prologue.

* sparc-tdep.c: Replace union sparc_insn_layout and anonymous
union in isannulled, which won't work on a little-endian host,
with X_* macros.

* sparc-tdep.c (sparc_frame_saved_pc): If addr == 0, the saved PC
is still in %o7.

* config/sparc/tm-sparc.h: Define INIT_FRAME_PC and
INIT_FRAME_PC_FIRST.
* blockframe.c (get_prev_frame_info): Modify comments regarding
INIT_FRAME_PC_FIRST and the sparc.

* sparc-tdep.c (single_step): Use 4 not sizeof (long) for size of
instruction.
gdb/ChangeLog
gdb/config/sparc/tm-sparc.h
gdb/sparc-tdep.c