gdb: Target Descriptions

 
 Appendix G Target Descriptions
 ******************************
 
 One of the challenges of using GDB to debug embedded systems is that
 there are so many minor variants of each processor architecture in use.
 It is common practice for vendors to start with a standard processor
 core -- ARM, PowerPC, or MIPS, for example -- and then make changes to
 adapt it to a particular market niche.  Some architectures have hundreds
 of variants, available from dozens of vendors.  This leads to a number
 of problems:
 
    * With so many different customized processors, it is difficult for
      the GDB maintainers to keep up with the changes.
    * Since individual variants may have short lifetimes or limited
      audiences, it may not be worthwhile to carry information about
      every variant in the GDB source tree.
    * When GDB does support the architecture of the embedded system at
      hand, the task of finding the correct architecture name to give the
      'set architecture' command can be error-prone.
 
    To address these problems, the GDB remote protocol allows a target
 system to not only identify itself to GDB, but to actually describe its
 own features.  This lets GDB support processor variants it has never
 seen before -- to the extent that the descriptions are accurate, and
 that GDB understands them.
 
    GDB must be linked with the Expat library to support XML target
 descriptions.  SeeExpat.
 

Menu