aboutsummaryrefslogtreecommitdiff
path: root/gdb/m68k-tdep.c
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@codesourcery.com>2006-07-13 09:30:46 +0000
committerNathan Sidwell <nathan@codesourcery.com>2006-07-13 09:30:46 +0000
commit9bb47d95dd8931c8f6ecc7ddf481cfbcd72b4fba (patch)
tree0f1db2d86900b7d20c865bc08b6e3fd7d994145c /gdb/m68k-tdep.c
parent230d6d81b022f8dce5f2f68b127041d329fa553a (diff)
downloadgdb-9bb47d95dd8931c8f6ecc7ddf481cfbcd72b4fba.zip
gdb-9bb47d95dd8931c8f6ecc7ddf481cfbcd72b4fba.tar.gz
gdb-9bb47d95dd8931c8f6ecc7ddf481cfbcd72b4fba.tar.bz2
* m68k-tdep.c (m68k_frame_align): New.
(m68k_gdbarch_init): Set frame_align here.
Diffstat (limited to 'gdb/m68k-tdep.c')
-rw-r--r--gdb/m68k-tdep.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gdb/m68k-tdep.c b/gdb/m68k-tdep.c
index 1ddd652..168eef1 100644
--- a/gdb/m68k-tdep.c
+++ b/gdb/m68k-tdep.c
@@ -413,6 +413,16 @@ m68k_svr4_return_value (struct gdbarch *gdbarch, struct type *type,
}
+/* Always align the frame to a 4-byte boundary. This is required on
+ coldfire 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,
@@ -1155,6 +1165,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);