This is the mail archive of the gdb-patches@sources.redhat.com 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: new gdb arch routine FRAME_UNCHANGED


> 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




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