* spu-tdep.c (spu_frame_align): New function.
authorUlrich Weigand <uweigand@de.ibm.com>
Thu, 8 Mar 2007 21:32:22 +0000 (21:32 +0000)
committerUlrich Weigand <uweigand@de.ibm.com>
Thu, 8 Mar 2007 21:32:22 +0000 (21:32 +0000)
(spu_gdbarch_init): Install it.  Set call dummy location to ON_STACK.

gdb/ChangeLog
gdb/spu-tdep.c

index bac05c25be9e53ab91821abbe9889ae687997f59..86cfe543720685147b300b5afc77289ba95b7e09 100644 (file)
@@ -1,3 +1,8 @@
+2007-03-08  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * spu-tdep.c (spu_frame_align): New function.
+       (spu_gdbarch_init): Install it.  Set call dummy location to ON_STACK.
+
 2007-03-08  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * spu-tdep.c (spu_unwind_pc): Mask off interrupt enable bit.
index e06fc7d8a4ff9c03215e4a69755516a9de7c58c0..14e6e6d1a6f62ef58f6efa51b0ae4d817f7626e9 100644 (file)
@@ -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);