[PATCH] Alignment and split function args

Daniel Jacobowitz drow@false.org
Fri Feb 27 08:56:00 GMT 2004


On Thu, Feb 26, 2004 at 11:23:00PM -0500, Ian Lance Taylor wrote:
> Paul Brook <paul@codesourcery.com> writes:
> 
> > I've run into a problem with argument alignment when function arguments are 
> > split between registers and memory.
> 
> ...
> 
> > AFAICS arm(iwmmxt) is the only target currently effected. All other ports 
> > either have STACK_BOUNDARY == PREFERRED_STACK_BOUNDARY or do not allow 
> > splitting of args between registers and memory.
> 
> I spent a little while poking at this problem a couple of weeks ago.
> 
> Does your patch fix gcc.c-torture/execute/20030914-1.c for iWMMXt?

I'll throw in my useless two cents:

My verdict when I looked at this was that the documented ABI (I don't
know if the document is publicly available) for this port was simply
flawed - you can't both implement the argument passing as written and
maintain the stack alignment it requires.  Being unfamiliar with the
argument passing code, and slightly terrified of it, I left it at that
and ignored this failure.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer



More information about the Gcc-patches mailing list