+2006-06-09 Nathan Sidwell <nathan@codesourcery.com>
+
+ gdb/
+ * m68k-tdep.c (m68k_frame_align): New.
+ (m68k_push_dummy_call): Don't align here.
+ (m68k_gdbarch_init): Set frame_align here.
+
2006-06-08 Nathan Sidwell <nathan@codesourcery.com>
* gdb/remote.c (remote_open_1): Do preopen tasks before
}
\f
+/* Always align the frame to a 4-byte boundary. This is required on
+ some platforms and harmless on the rest. */
+
+static CORE_ADDR
+m68k_frame_align (struct gdbarch *gdbarch, CORE_ADDR sp)
+{
+ /* Align the stack to four bytes. */
+ return sp & ~3;
+}
+
static CORE_ADDR
m68k_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
struct regcache *regcache, CORE_ADDR bp_addr, int nargs,
gdb_byte buf[4];
int i;
- /* Align the stack down to 4 bytes. Needed for coldfire. */
- sp &= ~3;
-
/* Push arguments in reverse order. */
for (i = nargs - 1; i >= 0; i--)
{
/* Stack grows down. */
set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
+ set_gdbarch_frame_align (gdbarch, m68k_frame_align);
set_gdbarch_believe_pcc_promotion (gdbarch, 1);
set_gdbarch_decr_pc_after_break (gdbarch, 2);