The target architecture definition (see Target Architecture Definition) contains gdb's hard-coded knowledge about an architecture. For some platforms, it is handy to have more flexible knowledge about a specific instance of the architecture—for instance, a processor or development board. Target descriptions provide a mechanism for the user to tell gdb more about what their target supports, or for the target to tell gdb directly.
For details on writing, automatically supplying, and manually selecting target descriptions, see Target Descriptions. This section will cover some related topics about the gdb internals.