This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: Branch breakage on IRIX 6.5
On Mon, May 14, 2001 at 09:50:04AM -0700, Mark Mitchell wrote:
> EH_RETURN_HANDLER_RTX is just $ra on the MIPS, right?
Almost certainly not. The return address will have been
dropped to the stack somewhere. You want to clobber that.
If this is somewhat predictable (e.g. always slot 0 in the
register save area) see the Alpha version for inspiration.
Otherwise, see rs6000.md, eh_set_lr_si + splitter, which
delays the memory store until after reload, when the stack
offset is known.
> And then I need to gussy up the epilogue to check for
> current_function_calls_eh_return, and then make sure the
> EH_STACKADJ_RTX is added to $sp on the way out.
Yep.
> Do I do that instead of the normal add to $sp that pops the current
> stack frame, or in addition to it?
In addition to it. Keep in mind that there will be a normal
return through this path as well as an abnormal return.
r~