Dave Korn wrote:
> H.J. Lu wrote:
>> On Fri, Jan 23, 2009 at 5:29 PM, Dave Korn wrote:
>>> Hi all,
>>>
>>> re: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38952
>>> [Regression/4.4,P1 blocker IMHO: total failure of SjLj EH on Cygwin+MinGW]
>>>
>>> I have a simple testcase showing breakage in SjLj EH on Cygwin. To cut
>>> right to the chase, the RTL generated by the 130r.eh pass to save %ebp (the
>>> frame pointer) into the jmp_buf struct embedded in the SjLj_Function_Context
>>> struct that is about to be registered looks like so:
>>>
>> An IRA setjmp bug was fixed recently:
>>
>> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38587
>>
>> Does it fix your problem?
>
> I'm not sure, but my source tree is at r.143552, which is just a couple of
> revs before your fix went in. I will test it and report back; thanks for the
> hint.
Unfortunately the patch for 38587 made no difference at all to the
generated code, including the incorrect initial frame pointer offset
calculation; my test case compiles identically. This is not unsurprising to
me; there doesn't appear to be any stack slot sharing going on here. Thanks
for trying to help, H.J.
So, my main problem remains; I still don't know if what IRA is doing here
is permitted: eliminating the FP to a constant offset from the SP, before
reload. I'll have to see what any of the IRA or RTL maintainers have to say.
cheers,
DaveK