summaryrefslogtreecommitdiff
path: root/gcc/config/moxie
diff options
context:
space:
mode:
authorgreen <green@138bc75d-0d04-0410-961f-82ee72b054a4>2010-02-03 11:36:30 +0000
committergreen <green@138bc75d-0d04-0410-961f-82ee72b054a4>2010-02-03 11:36:30 +0000
commit5cf6bd408601cfb8571f1675b759a908312dc75e (patch)
tree7e226e0959af95cebff948e6a60b578b1af95e2a /gcc/config/moxie
parent9e1eb6c1473a4a956be2c964fa8dd66b069a3250 (diff)
downloadgcc-5cf6bd408601cfb8571f1675b759a908312dc75e.tar.gz
Fix moxie tramponline alignment problem
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156465 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/moxie')
-rw-r--r--gcc/config/moxie/moxie.c5
-rw-r--r--gcc/config/moxie/moxie.h6
2 files changed, 6 insertions, 5 deletions
diff --git a/gcc/config/moxie/moxie.c b/gcc/config/moxie/moxie.c
index 7515fa26a47..b1cefb6a75d 100644
--- a/gcc/config/moxie/moxie.c
+++ b/gcc/config/moxie/moxie.c
@@ -1,5 +1,5 @@
/* Target Code for moxie
- Copyright (C) 2008, 2009 Free Software Foundation
+ Copyright (C) 2008, 2009, 2010 Free Software Foundation
Contributed by Anthony Green.
This file is part of GCC.
@@ -483,6 +483,7 @@ moxie_asm_trampoline_template (FILE *f)
fprintf (f, "\tldi.l $r0, 0x0\n");
fprintf (f, "\tsto.l 0x8($fp), $r0\n");
fprintf (f, "\tpop $sp, $r0\n");
+ fprintf (f, "\tnop\n");
fprintf (f, "\tjmpa 0x0\n");
}
@@ -498,7 +499,7 @@ moxie_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value)
mem = adjust_address (m_tramp, SImode, 4);
emit_move_insn (mem, chain_value);
- mem = adjust_address (m_tramp, SImode, 18);
+ mem = adjust_address (m_tramp, SImode, 20);
emit_move_insn (mem, fnaddr);
}
diff --git a/gcc/config/moxie/moxie.h b/gcc/config/moxie/moxie.h
index 384bce4a986..928ca8838a7 100644
--- a/gcc/config/moxie/moxie.h
+++ b/gcc/config/moxie/moxie.h
@@ -1,5 +1,5 @@
/* Target Definitions for moxie.
- Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
Contributed by Anthony Green.
This file is part of GCC.
@@ -386,10 +386,10 @@ enum reg_class
#define FUNCTION_PROFILER(FILE,LABELNO) (abort (), 0)
/* Trampolines for Nested Functions. */
-#define TRAMPOLINE_SIZE (2 + 6 + 6 + 2 + 6)
+#define TRAMPOLINE_SIZE (2 + 6 + 6 + 2 + 2 + 6)
/* Alignment required for trampolines, in bits. */
-#define TRAMPOLINE_ALIGNMENT 16
+#define TRAMPOLINE_ALIGNMENT 32
/* An alias for the machine mode for pointers. */
#define Pmode SImode