aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/spu-tdep.c4
2 files changed, 8 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 7662eac..55a5b73 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+2007-06-01 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * spu-tdep.c (spu_push_dummy_call): Store stack back chain.
+
2007-06-01 Joel Brobecker <brobecker@adacore.com>
* solib-svr4.c (svr4_solib_create_inferior_hook): Remove warning.
diff --git a/gdb/spu-tdep.c b/gdb/spu-tdep.c
index 0d82a74..305201a 100644
--- a/gdb/spu-tdep.c
+++ b/gdb/spu-tdep.c
@@ -1013,6 +1013,10 @@ spu_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
/* Allocate stack frame header. */
sp -= 32;
+ /* Store stack back chain. */
+ regcache_cooked_read (regcache, SPU_RAW_SP_REGNUM, buf);
+ target_write_memory (sp, buf, 16);
+
/* Finally, update the SP register. */
regcache_cooked_write_unsigned (regcache, SPU_SP_REGNUM, sp);