A back end for a target architecture in GCC has the following parts:
gcc/config, containing a machine description
.mdfile (see Machine Descriptions), header files
-protos.hand a source file
.c(see Target Description Macros and Functions), possibly a target Makefile fragment
(see The Target Makefile Fragment), and maybe some other files. The names of these files may be changed from the defaults given by explicit specifications in
config.gccFile) for the systems with this target architecture.
gcc/doc/invoke.texifor any command-line options supported by this target (see Run-time Target Specification). This means both entries in the summary table of options and details of the individual options.
gcc/doc/extend.texifor any target-specific attributes supported (see Defining target-specific uses of
__attribute__), including where the same attribute is already supported on some targets, which are enumerated in the manual.
gcc/doc/extend.texifor any target-specific pragmas supported.
gcc/doc/extend.texiof any target-specific built-in functions supported.
gcc/doc/md.texiof any target-specific constraint letters (see Constraints for Particular Machines).
gcc/doc/contrib.texiunder the person or people who contributed the target support.
gcc/doc/install.texifor all target triplets supported with this target architecture, giving details of any special notes about installation for this target, or saying that there are no special notes if there are none.
gccdirectory for runtime libraries. FIXME: reference docs for this. The libstdc++ porting manual needs to be installed as info for this to work, or to be a chapter of this manual.
If the back end is added to the official GCC CVS repository, the following are also necessary:
readings.htmlon the GCC web site, with any relevant links.
index.htmlon the GCC web site.
MAINTAINERS. Some existing architectures may be unmaintained, but it would be unusual to add support for a target that does not have a maintainer when support is added.