This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: ARM forced unwinding for HEAD part 2
- From: Richard Earnshaw <rearnsha at gcc dot gnu dot org>
- To: Daniel Jacobowitz <drow at false dot org>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>, Nathan Sidwell <nathan at codesourcery dot com>, Paul Brook <paul at codesourcery dot com>
- Date: Tue, 15 Nov 2005 14:59:23 +0000
- Subject: Re: ARM forced unwinding for HEAD part 2
- References: <20051114165812.GA27481@nevyn.them.org>
On Mon, 2005-11-14 at 16:58, Daniel Jacobowitz wrote:
> Here's the fixes on top of Nathan's patch. Some of these you may want done
> differently...
[...]
> Fixing non-call exceptions turned out to be easier than I had expected.
> The only problem was that faulting loads would get scheduled before the
> stack adjustment, and the stack adjustment was recorded in the unwind
> tables. So if we want to support unwinding through non-call exceptions,
> we must prevent the prologue from being scheduled into the rest of the
> function.
>
Hmm, have you considered leaf functions? In that case we don't
generally need to store any unwind information.
In general your solution here should work. The alternative is to put
out more complex tables that describe the frame at each instruction,
rather than compressed tables that describe the result of all frame
adjustments.
> OK for HEAD? Paul, do we need these merged to csl-arm-branch also?
I don't really know enough about the exception unwinding code to review
this. I'd like Paul and/or Nathan to comment there.
R.