Re: Specify frame by address

Mark Kettenis
2011-10-30T10:07:46Z

> Date: Sat, 29 Oct 2011 20:48:08 +0200
> From: Jan Kratochvil <jan.kratochvil@redhat.com>
>
> On Sat, 29 Oct 2011 20:43:25 +0200, Mark Kettenis wrote:
> > > What is it for stabs? More generally, suppose I wanted to make the
> > > manual more clear on this matter, what could I tell the user about
> > > how to find out this address?
> >
> > The debug info format isn't really relevant. It's the architecture
> > that matters.
>
> If the debug info provides its own unwinder - such as DWARF does - the
> architecture does not matter as it gets fully handled by dwarf2-frame.c.

I know how the code works; I wrote significant parts of it. The
architecture does matter, since the convention for what stack address
to use as the CFA depends on the architecture.

> It is true anything besides DWARF - like STABS - just falls back to the
> architecture unwinder.

And that is why the DWARF unwinder and the architecture unwinders
should use the same convention. So far we've always adjusted the
architecture unwinders to match he DWARF unwinder as that was easiest
and the DWARF CFA turned out to be a meaningful address on those
architectures. But if that turns out not to be the case for some
future architecture we will have to add a gdbarch method for the DWARF
unwinder to call that fixes things up.