This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: 2.95.4 plans
- To: Franz Sirl <Franz dot Sirl-kernel at lauterbach dot com>
- Subject: Re: 2.95.4 plans
- From: Bernd Schmidt <bernds at redhat dot com>
- Date: Wed, 21 Mar 2001 17:18:33 +0000 (GMT)
- Cc: <gcc-patches at gcc dot gnu dot org>
On Wed, 21 Mar 2001, Franz Sirl wrote:
>
> Analysis? Again? Oh no ;-). The problem is that locate_and_pad_parm()
> aligns the stackpointer for each argument even if the target ABI puts this
> argument in a register and doesn't mean to allocate any stack space for it
> (REGPARM_STACK_SPACE()==0). Now, if the stackpointer is currently on a
> "odd" 32bit boundary and you pass for example a double in a register, the
> stackpointer gets aligned to an "even" 32bit boundary. This means that all
> arguments that don't fit into registers are now put into the wrong stackslot.
Yes, but while that may be wrong, it only fails to work because the code for
the called function uses the correct offsets, right? I'd like to find the
piece of code that handles this correctly for the called function. Since we
have to make the two behave identically, I'd like to take a look at it.
Bernd