Additional parsing tests for PA gas.
[deliverable/binutils-gdb.git] / gas / NOTES.config
CommitLineData
0e39a8bb
RP
1
2 The GAS Configuration Plan
3
4Theory:
5
6The goal of the new configuration scheme is to bury all object format,
7target processor, and host machine dependancies in object, target, and
8host specific files. That is, to move all #ifdef's out of the gas
9common code.
10
11Here's how it works. There is a .h and a .c file for each object file
12format, a .h and a .c file for each target processor, and a .h for
13each host. config.gas creates {sym}links in the current directory to
14the appropriate files in the config directory. config.gas also serves
15as a list of triplets {host, target, object-format} that have been
16tested at one time or another. I also recommend that config.gas be
17used to document triplet specific notes as to purpose of the triplet,
18etc.
19
20Implementation:
21
22host.h is a {sym}link to .../config/xm-yourhost.h. It is intended to
23be used to hide host compiler, system header file, and system library
24differences between host machines. If your host needs actual c source
25files, then either: these are generally useful functions, in which
26case you should probably build a local library outside of the gas
27source tree, or someone, perhaps me, is confused about what is needed
28by different hosts.
29
30obj-format.h is a {sym}link to .../config/obj-something.h. It is intended
31
32All gas .c files include as.h.
33
34as.h #define's "gas", includes host.h, defines a number of gas
35specific structures and types, and then includes tp.h, obj.h, and
36target-environment.h.
37
38target-environment.h defines a target environment specific
39preprocessor flag, eg, TE_SUN, and then includes obj-format.h.
40
41obj-format.h defines an object format specific preprocessor flag, eg,
42OBJ_AOUT, OBJ_BOUT, OBJ_COFF, includes "target-processor.h", and then
43defines the object specific macros, functions, types, and structures.
44
45target-processor.h
46
47target-processor.
48
49Porting:
50
51There appear to be four major types of ports; new hosts, new target
52processors, new object file formats, and new target environments.
This page took 0.08443 seconds and 4 git commands to generate.