diff options
Diffstat (limited to 'gdb/s390-tdep.c')
-rw-r--r-- | gdb/s390-tdep.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c index 632261e..d2fa1a0 100644 --- a/gdb/s390-tdep.c +++ b/gdb/s390-tdep.c @@ -1169,8 +1169,10 @@ s390_pop_frame_regular (struct frame_info *frame) write_register (regnum, value); } - /* Actually cut back the stack. */ - write_register (S390_SP_REGNUM, FRAME_FP (frame)); + /* Actually cut back the stack. Remember that the SP's element of + saved_regs is the old SP itself, not the address at which it is + saved. */ + write_register (S390_SP_REGNUM, frame->saved_regs[S390_SP_REGNUM]); /* Throw away any cached frame information. */ flush_cached_frames (); |