aboutsummaryrefslogtreecommitdiff
path: root/gdb/spu-tdep.c
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 /gdb/spu-tdep.c
parent513f590324f1b11a36acbad0ebf40f800f5e52f7 (diff)
downloadgdb-ee82e879dbba723040d697fabc64f961f641f1b4.zip
gdb-ee82e879dbba723040d697fabc64f961f641f1b4.tar.gz
gdb-ee82e879dbba723040d697fabc64f961f641f1b4.tar.bz2
* spu-tdep.c (spu_push_dummy_call): Store stack back chain.
Diffstat (limited to 'gdb/spu-tdep.c')
-rw-r--r--gdb/spu-tdep.c4
1 files changed, 4 insertions, 0 deletions
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);