aboutsummaryrefslogtreecommitdiff
path: root/gdb/spu-tdep.c
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2007-03-08 21:32:22 +0000
committerUlrich Weigand <uweigand@de.ibm.com>2007-03-08 21:32:22 +0000
commit7b3dc0b75ba8fc59a1f5f7c8bb3951b17421f8f5 (patch)
tree23637ee361b94f3e94363bf4b8179d32cc252b29 /gdb/spu-tdep.c
parent118dfbaf1fd13be680656caffbb069b054aa2e74 (diff)
downloadgdb-7b3dc0b75ba8fc59a1f5f7c8bb3951b17421f8f5.zip
gdb-7b3dc0b75ba8fc59a1f5f7c8bb3951b17421f8f5.tar.gz
gdb-7b3dc0b75ba8fc59a1f5f7c8bb3951b17421f8f5.tar.bz2
* spu-tdep.c (spu_frame_align): New function.
(spu_gdbarch_init): Install it. Set call dummy location to ON_STACK.
Diffstat (limited to 'gdb/spu-tdep.c')
-rw-r--r--gdb/spu-tdep.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gdb/spu-tdep.c b/gdb/spu-tdep.c
index e06fc7d..14e6e6d 100644
--- a/gdb/spu-tdep.c
+++ b/gdb/spu-tdep.c
@@ -756,6 +756,12 @@ spu_write_pc (CORE_ADDR pc, ptid_t ptid)
/* Function calling convention. */
+static CORE_ADDR
+spu_frame_align (struct gdbarch *gdbarch, CORE_ADDR sp)
+{
+ return sp & ~15;
+}
+
static int
spu_scalar_value_p (struct type *type)
{
@@ -1079,6 +1085,8 @@ spu_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_long_double_format (gdbarch, floatformats_ieee_double);
/* Inferior function calls. */
+ set_gdbarch_call_dummy_location (gdbarch, ON_STACK);
+ set_gdbarch_frame_align (gdbarch, spu_frame_align);
set_gdbarch_push_dummy_call (gdbarch, spu_push_dummy_call);
set_gdbarch_unwind_dummy_id (gdbarch, spu_unwind_dummy_id);
set_gdbarch_return_value (gdbarch, spu_return_value);