]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
gdb/
authorNathan Sidwell <nathan@codesourcery.com>
Fri, 9 Jun 2006 12:12:03 +0000 (12:12 +0000)
committerNathan Sidwell <nathan@codesourcery.com>
Fri, 9 Jun 2006 12:12:03 +0000 (12:12 +0000)
* m68k-tdep.c (m68k_frame_align): New.
(m68k_push_dummy_call): Don't align here.
(m68k_gdbarch_init): Set frame_align here.

ChangeLog.csl
gdb/m68k-tdep.c

index 56983a32e5f2d34d53e5d3de28213c4bdc512346..5e41d6793b0ffc0bb4458219931508656001293b 100644 (file)
@@ -1,3 +1,10 @@
+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
index 1a4493f9bf9660dcbc8e02aafb39a3ba8bf53333..4bc7e86fd82155888f1b873a14947eecf33650df 100644 (file)
@@ -485,6 +485,16 @@ m68k_svr4_return_value (struct gdbarch *gdbarch, struct type *type,
 }
 \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,
@@ -495,9 +505,6 @@ m68k_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
   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--)
     {
@@ -1249,6 +1256,7 @@ m68k_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 
   /* 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);