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: Porting advice or documentation request


Richard Earnshaw writes:
> > Hi all,
> > > > I'm working on this new gdb port, and more than often I'm stuck. I have > > been told that the d10v port is the most authorative template for how > > new targets should be written. Unfortunately it is impossible to learn > > anything about the d10v's hardware architecture on the net, so I find it > > a bit difficult to template from.
> > I can sympathise. I've tried on a couple of occasions to update the ARM > target to use the new interfaces and I've repeatedly run into situations > where the GDB's abstraction model is just not obvious from staring at the > code.
> > Andrew, I think we really need a 10,000 ft view document on gdb's internal > architecture to complement the list of macros that a target can define...

For a 10 000' view there's the multi-arch white paper, and posts such as: Ref: cooked regcache -> frame (follow the links in it) http://sources.redhat.com/ml/gdb/2003-05/msg00287.html Ref: WIP: Register doco http://sources.redhat.com/ml/gdb/2002-07/msg00202.html

One thing that is missing, though, is a migration strategy that is known to work (like the convert to multi-arch doco). Can I suggest starting with a set_gdbarch_deprecated_* method and working down (see gdbarch.h for the replacement). I think trying to start from the other end - trying to eliminate all instances of something like deprecated_registers[] say - will run into real problems.

I think checking out the new i386 frame branch could help here
too. Mark updated the i386 to use the new frame stuff, so that could
be used as example.

Yes, definitly. I've been told that a third architecture is lurking in the wings.


Andrew



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