Re: [RFA Darwin]: Add push_dummy_call for i386

Tristan Gingold
2009-07-06T06:56:45Z

On Jul 4, 2009, at 5:31 PM, H.J. Lu wrote:

> On Fri, Jul 3, 2009 at 8:51 AM, Tristan Gingold<gingold@adacore.com>
> wrote:
>> Hi,
>>
>> Darwin i386 ABI is slightly different from the SVR4 one. In
>> particular
>> stack alignment is 16. As a consquence, i386 Darwin can't use the
>> standard
>> i386-tdeo.c push_dummy_call and this patch provides a Darwin
>> version of this
>> call.
>>
>
> Well, the code generated by gcc for Linux/i386 assumes that the
> incoming
> stack is aligned at 16byte. If not, functions using SSE registers
> may crash.

Interesting, as I can't see the code that preserve stack alignment in
i386-tdep.c
Anyway, i386/Darwin needs to have its own push_dummy_call code as it
doesn't follow
that SVR4 ABI on many points.

Tristan.