diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/spu-tdep.c | 8 |
2 files changed, 13 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index bac05c2..86cfe54 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 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. (spu_software_single_step): Likewise. (spu_read_pc, spu_write_pc): New functions. 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); |