This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: new gdb arch routine FRAME_UNCHANGED
- From: Andrew Cagney <ac131313 at cygnus dot com>
- To: davidm at hpl dot hp dot com
- Cc: gdb-patches at sources dot redhat dot com
- Date: Fri, 10 May 2002 21:04:47 -0400
- Subject: Re: new gdb arch routine FRAME_UNCHANGED
- References: <200205110023.g4B0NVCF004832@napali.hpl.hp.com>
> The patch below defines a new gdbarch routine called FRAME_UNCHANGED.
> This is needed for gdb/ia64 because the ia64 architecture has two
> separate stack pointers (one for memory stack and one for register stack).
> Because of the two stacks, it's not possible to look just at the frame
> pointer and PC to determine whether a frame changed.
>
> If the patch looks OK, I'd appreciate if someone could apply it.
>
> Note: the patch below doesn't include the ia64 version of
> FRAME_UNCHANGED. It is part of a larger update to add unwind library
> support to gdb/ia64 and I'll submit that separately. So, for now, the
> patch is effectively a no-op for all platforms.
Is the patch available somewhere?
When you say unwind library support do you mean dwarf2cfi or something
else? From memory CFI identifies a frame using CFA and PC, I'm
wondering how things work here.
cf: http://sources.redhat.com/ml/gdb-patches/2002-04/msg00749.html
There is code through out GDB that relies on being able to re-find a
frame in the frame chain. The code typically relies on just the frame
address (oops). The referenced patch changes it to use frame/pc. If I
understand what you're saying correctly, still more information will
need to be saved?
> Also, it will be necessary to re-generate gdbarch.[ch] after applying
> the patch.
(that's normal)
enjoy,
Andrew