This is the mail archive of the gdb@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: Enable frame-base before frame-unwind?


On Wed, Jun 25, 2003 at 01:02:53PM -0400, Daniel Jacobowitz wrote:

On Wed, Jun 25, 2003 at 11:42:41AM -0400, Andrew Cagney wrote:

> Here's a new theory on how to migrate to the unwind code:
> > Enable frame-base before frame-unwind.
> > Why? The frame-unwind code can't be enabled until frame-base is working > anyway. Since frame-base is an almost direct replacement for > FRAME_LOCALS_ADDRESS and FRAME_ARGS_ADDRESS, and the return values for > the old/new methods are the same, I think getting frame-base working is > going to be much easier than getting frame-unwind working. Since > frame-base and frame-unwind share the prologue analysis code, debugging > it with the less harmful frame-base should make life easier.
> > Any one want to prove the theory?


... sure.


I think you've answered this once already, but is there a list of
routines that have needed to change, so far?  Or do I need to put one
together as I go along?

See my post to Corinna. You'll note that several parts of the h8 have been cleaned up.


I don't think the theory holds.

I picked ARM, because I've been meaning to work on framifying ARM for
some time now.  Just like Richard, I've been running over and over into
places where it's just not clear what the new code is supposed to do,
or how it's supposed to do it.  So take this with a grain of salt.

Is the complexity related to the frame code or the Arm architecture?


The Arm, unlike AVR, Alpha, or d10v is going to be very complicated. This is because the Arm stack can contain mixed frames (Arm and Thumb) and figuring out how to correctly model that will require some serious head scratching.

ARM defines neither FRAME_LOCALS_ADDRESS or FRAME_ARGS_ADDRESS.  Both
default to the value of get_frame_base.  In order to frame-base-ify it,
I would have to move all the code which unwinds the frame base to the
new structure.

The key word is `enable' (not `move' or `replace'). Leave all the old frame code as is, then implement anew everything needed for a frame-base.


Andrew



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