mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-03-07 13:39:43 +08:00
includes config.h instead of host.h, tc.h instead of tp.h, and targ-env.h instead of target-environment.h. Also, obj-format.h includes targ-cpu.h instead of target-processor.h. start-sanitize-tic80 (Laying groundwork, that will be incrementally fleshed out, for TIc80 support) * configure.in (case ${generic_target}): Add tic80-*-coff entry. * configure: Rebuild with autoconf. * config/obj-coff.h (coff/tic80.h): Include if TC_TIC80 defined. (TARGET_FORMAT): Define to "coff-tic80". * config/tc-tic80.c: New file for TIc80 support. * config/tc-tic80.h: New file for TIc80 support. end-sanitize-tic80
43 lines
1.4 KiB
Plaintext
43 lines
1.4 KiB
Plaintext
|
|
The GAS Configuration Plan
|
|
|
|
Theory:
|
|
|
|
The goal of the new configuration scheme is to bury all object format
|
|
and target processor dependancies in object and target specific files.
|
|
That is, to move all #ifdef's out of the gas common code.
|
|
|
|
Here's how it works. There is a .h and a .c file for each object file
|
|
format and a .h and a .c file for each target processor. The
|
|
configure script creates symlinks in the current directory to the
|
|
appropriate files in the config directory. configure also serves as a
|
|
list of triplets {host, target, object-format} that have been tested
|
|
at one time or another. I also recommend that configure be used to
|
|
document triplet specific notes as to purpose of the triplet, etc.
|
|
|
|
Implementation:
|
|
|
|
obj-format.h is a {sym}link to .../config/obj-something.h. It is intended
|
|
|
|
All gas .c files include as.h.
|
|
|
|
as.h #define's "GAS", includes config.h, defines a number of gas
|
|
specific structures and types, and then includes tc.h, obj.h, and
|
|
targ-env.h.
|
|
|
|
targ-env.h defines a target environment specific preprocessor flag,
|
|
eg, TE_SUN, and then includes obj-format.h.
|
|
|
|
obj-format.h defines an object format specific preprocessor flag, eg,
|
|
OBJ_AOUT, OBJ_BOUT, OBJ_COFF, includes "targ-cpu.h", and then defines
|
|
the object specific macros, functions, types, and structures.
|
|
|
|
targ-cpu.h
|
|
|
|
targ-cpu.c
|
|
|
|
Porting:
|
|
|
|
There appear to be four major types of ports; new hosts, new target
|
|
processors, new object file formats, and new target environments.
|