aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@gnat.com>2004-03-31 17:44:09 +0000
committerJoel Brobecker <brobecker@gnat.com>2004-03-31 17:44:09 +0000
commitc4557624e52a12aaf6633fc017228d449b7bdeb8 (patch)
tree8d72cffe32428e7e3e2934f6e4d97b3ae7a77ff3
parent8375c36b6a3109a031774b89f1f98e7bdf499109 (diff)
downloadgdb-c4557624e52a12aaf6633fc017228d449b7bdeb8.zip
gdb-c4557624e52a12aaf6633fc017228d449b7bdeb8.tar.gz
gdb-c4557624e52a12aaf6633fc017228d449b7bdeb8.tar.bz2
* hppa-tdep.c (hppa32_push_dummy_call): Set the Stack Pointer.
(hppa64_push_dummy_call): Likewise.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/hppa-tdep.c6
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;
}