Porting advice or documentation request

Andrew Cagney ac131313@redhat.com
Thu May 29 18:54:00 GMT 2003


> 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




More information about the Gdb mailing list