2011/8/4 Kai Tietz <ktiet...@googlemail.com>:
> 2011/8/4 Richard Henderson <r...@redhat.com>:
>> On 08/04/2011 01:53 PM, Kai Tietz wrote:
>>>        diff = frame->stack_pointer_offset - 
>>> frame->hard_frame_pointer_offset;
>>> -      if (diff > 240 || (diff & 15) != 0)
>>> +      if (diff > 240 || (diff & 15) != 0 || cfun->calls_alloca != 0)
>>
>> Hmm.  Why didn't the diff > 240 test trigger?
>
> The point seems to be that the alloca block gets added later to rsp,
> but prologue is already layout, so it thinks it could use complete
> frame-size.  But due limitation of frame-size in SEH information to
> 240 bytes, this causes an assert in winnt.c:821
>
> Not sure if this is not more a paper-patch for another underlying
> issue, but it seems to work so far.

It seems not to be the proper fix.  The issue seems to be caused
somewhere else.  This patch fixed some testcases, but shows others
failing due it.

Kai

Reply via email to