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