This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Problem with ARM_DOUBLEWORD_ALIGN on ARM
- From: Daniel Jacobowitz <drow at false dot org>
- To: Richard Kenner <kenner at vlsi1 dot ultra dot nyu dot edu>
- Cc: gcc at gcc dot gnu dot org
- Date: Wed, 21 Nov 2007 16:01:56 -0500
- Subject: Re: Problem with ARM_DOUBLEWORD_ALIGN on ARM
- References: <10711212056.AA27371@vlsi1.ultra.nyu.edu>
On Wed, Nov 21, 2007 at 03:56:02PM -0500, Richard Kenner wrote:
> When that option is enabled, STACK_BOUNDARY is set to 64.
>
> But when you look at arm_expand_prologue, it appears that very little
> effort is made to respect that alignment. Three specific cases I see
> are the IS_NESTED case of pushing ip_rtx and, the lack of checking the
> size of args_to_push, and no attempt to ensure that an even number of
> registers are saved. But there may well be other cases I haven't found.
>
> I'm not familiar with the ABI of that machine to know how these should
> be changed. Does anybody who knows the ABI know how to fix this?
Do you have any test cases? I'm pretty sure this works, at least in
the usual cases.
A wild guess says that you're doing this in Ada. It may be something
specific to the nested case then.
--
Daniel Jacobowitz
CodeSourcery