9.12 Adding a New Target
The following files add a target to gdb:
- gdb/config/arch/ttt.mt
- Contains a Makefile fragment specific to this target. Specifies what
object files are needed for target ttt, by defining
`TDEPFILES=...' and `TDEPLIBS=...'. Also specifies
the header file which describes ttt, by defining `TM_FILE=
tm-ttt.h'.
You can also define `TM_CFLAGS', `TM_CLIBS', `TM_CDEPS',
but these are now deprecated, replaced by autoconf, and may go away in
future versions of gdb.
- gdb/ttt-tdep.c
- Contains any miscellaneous code required for this target machine. On
some machines it doesn't exist at all. Sometimes the macros in
tm-ttt.h become very complicated, so they are implemented
as functions here instead, and the macro is simply defined to call the
function. This is vastly preferable, since it is easier to understand
and debug.
- gdb/arch-tdep.c
- gdb/arch-tdep.h
- This often exists to describe the basic layout of the target machine's
processor chip (registers, stack, etc.). If used, it is included by
ttt-tdep.h. It can be shared among many targets that use
the same processor.
- gdb/config/arch/tm-ttt.h
- (tm.h is a link to this file, created by
configure
). Contains
macro definitions about the target machine's registers, stack frame
format and instructions.
New targets do not need this file and should not create it.
- gdb/config/arch/tm-arch.h
- This often exists to describe the basic layout of the target machine's
processor chip (registers, stack, etc.). If used, it is included by
tm-ttt.h. It can be shared among many targets that use the
same processor.
New targets do not need this file and should not create it.
If you are adding a new operating system for an existing CPU chip, add a
config/tm-os.h file that describes the operating system
facilities that are unusual (extra symbol table info; the breakpoint
instruction needed; etc.). Then write a arch/tm-os.h
that just #include
s tm-arch.h and
config/tm-os.h.