aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2007-06-01 19:31:08 +0000
committerUlrich Weigand <uweigand@de.ibm.com>2007-06-01 19:31:08 +0000
commitee82e879dbba723040d697fabc64f961f641f1b4 (patch)
tree3699b6d357b5a03d10e0e5eeae1d675eb30c0cf1
parent513f590324f1b11a36acbad0ebf40f800f5e52f7 (diff)
downloadgdb-ee82e879dbba723040d697fabc64f961f641f1b4.zip
gdb-ee82e879dbba723040d697fabc64f961f641f1b4.tar.gz
gdb-ee82e879dbba723040d697fabc64f961f641f1b4.tar.bz2
* spu-tdep.c (spu_push_dummy_call): Store stack back chain.
-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);