diff options
author | Anthony Green <green@moxielogic.com> | 2010-02-03 11:36:30 +0000 |
---|---|---|
committer | Anthony Green <green@gcc.gnu.org> | 2010-02-03 11:36:30 +0000 |
commit | 693ee8cf85c6ea81151a2db2dffe8b9c05af2ddf (patch) | |
tree | 7e226e0959af95cebff948e6a60b578b1af95e2a /gcc/config/moxie | |
parent | bf8e3b779b1b243380234ae11f1be99b83ee1178 (diff) | |
download | gcc-693ee8cf85c6ea81151a2db2dffe8b9c05af2ddf.tar.gz |
Fix moxie tramponline alignment problem
From-SVN: r156465
Diffstat (limited to 'gcc/config/moxie')
-rw-r--r-- | gcc/config/moxie/moxie.c | 5 | ||||
-rw-r--r-- | gcc/config/moxie/moxie.h | 6 |
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 |