diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/hppa-tdep.c | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f45dc68..924a256 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2004-04-31 J. Brobecker <brobecker@gnat.com> + + * hppa-tdep.c (hppa32_push_dummy_call): Set the Stack Pointer. + (hppa64_push_dummy_call): Likewise. + 2004-03-30 Jim Blandy <jimb@redhat.com> From Ulrich Weigand: diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c index f96a211..4325071 100644 --- a/gdb/hppa-tdep.c +++ b/gdb/hppa-tdep.c @@ -911,6 +911,9 @@ hppa32_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr, /* Set the return address. */ regcache_cooked_write_unsigned (regcache, RP_REGNUM, bp_addr); + /* Update the Stack Pointer. */ + regcache_cooked_write_unsigned (regcache, SP_REGNUM, param_end + 32); + /* The stack will have 32 bytes of additional space for a frame marker. */ return param_end + 32; } @@ -1032,6 +1035,9 @@ hppa64_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr, /* Set the return address. */ regcache_cooked_write_unsigned (regcache, RP_REGNUM, bp_addr); + /* Update the Stack Pointer. */ + regcache_cooked_write_unsigned (regcache, SP_REGNUM, param_end + 64); + /* The stack will have 32 bytes of additional space for a frame marker. */ return param_end + 64; } |