Most of the work in making gdb compile on a new machine is in specifying the configuration of the machine. Porting a new architecture to gdb can be broken into a number of steps.
Within arch-tdep.c define the function
_initialize_arch_tdep which calls
gdbarch_register to create the new struct gdbarch for the architecture.
_initialize_remote_arch. However if at all possible
use the gdb Remote Serial Protocol for this and implement
the server side protocol independently with the target.