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


Hello,

I'm working on porting a new target for gdb, the tic4x, or Texas Instruments TMS320C3x and TMS320C4x (DSP's). I have been looking into the gdb sources and I have a couple of questions regarding the porting job.

The configuration patch is done, and since tic4x exists already in binutils, bfd and opcodes are also done. The only work needed, it seems like, is gdb and sim.

- What approach is the best when doing a new port? I have read the gdb internals manual, but I must admit that I dont quite get the overall picture from it.

People typically start with an existing port, as a template, and then modify it.


- Are there any other targets which serve good as a "template"? I see references in the gdbint manual to d10v. Please note that the tic4x target will always be a cross target, never native.

The d10v is currently the best reference target - as it is the most up-to-date.


Avoid anything with the word deprecated in it.

- For a cross target what is required?

<cpu>-tdep.c.


I have written a TCP gdbserver which accepts the standard gdb remote commands which talks to actual hardware. My primary use of gdb is to be able to talk to this gdbserver and to examine the runtime code, set breakpoints, etc. My second (distant) use of gdb is to use a simulator.

My problem is that I cannot find any references to any cross targets not linking in a simulator. Is this the case? If I edit my local gdb/config/tic4x/tic4x.mt and remove the "SIM = " line, compilation of gdb croaks and dies because of missing sim symbols. Is it possible to build a target gdb without the usage of a simulator?

--target=ia64-linux-gnu


will give you a cross debugging ia64 with no simulator.

- What does the "SIM_OBS =" line in the gdb/config/tic4x/tic4x.mt file do?

- Should I enable multi-arch support now? I mean, this being a totally new target and all?

Yes. Non multi-arch targets are no longer accepted.


- What "struct gdbarch" methods do I need to have implemented in gdb/tic4x-tdep.c? Is there a collected documentation of the methods somewhere? (I've read gdbarch.sh, but more detailed examples would be very nice.)

gdbint.texinfo lists most. As for what is needed see d10v (however, take care, the list of required methods is very much in flux).


Andrew



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