Infinite backtrace on (eg.) ARM

Daniel Jacobowitz drow@false.org
Fri Sep 22 02:59:00 GMT 2006


On Thu, Sep 21, 2006 at 06:48:44PM -0700, Michael Snyder wrote:
> So we can check for:
>   * doesn't save its PC, and
>   * frame->level > 0, and
>   * frame->next is not a call dummy.
> 
> Except that the information "doesn't save its PC" isn't public
> at the point where we want it.  It's hidden within frame_register_unwind
> and below -- in this case, in trad_frame.  So we sort of have a problem
> of "what do we know, and when do we know it".
> 
> So -- what if we exported a method to make that info public?
> It's rather specific, but in this case important: "does this
> frame save its return address?"

I think this is about the same as what I did in the third URL I sent
you.  I used a slightly roundabout way of answering the same question,
which didn't require a new interface: if we can tell that the frame is
deferring the question "where's my PC" to the next frame, then it
couldn't have saved the PC itself.

The second patch had some points of disagreement, but I think Mark and
I more or less agreed on the first one before I ran out of time to work
on it (I'll be back real soon, hopefully next week, to those), and the
third could probably be gotten into acceptable shape readily once the
first is in.

-- 
Daniel Jacobowitz
CodeSourcery



More information about the Gdb-patches mailing list