This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Don't overshoot when executing cfa instructions


On Sun, Jun 28, 2009 at 12:23:02AM +0200, Andreas Schwab wrote:
> The dwarf2 unwinder is careful to substract one from pc when finding the
> associated fde, but when executing the cfa instructions it uses the
> original pc as the limit, which may cause it to execute too much, for
> example if this is a frame calling a noreturn function.  Tested on
> powerpc-linux.

Actually, before approving this I have a question.  What about state
changes caused by the branch?

I remember a similar problem with location lists.  Before the branch,
a variable lives at some location.  Inside the called function, it is
gone.  Did we ever find a representation for that?  Does it rely
on the instruction after the branch marking the register as clobbered?

Sorry, I can't find a link.

-- 
Daniel Jacobowitz
CodeSourcery


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]