diff options
author | K. Richard Pixley <rich@cygnus> | 1991-04-04 18:19:56 +0000 |
---|---|---|
committer | K. Richard Pixley <rich@cygnus> | 1991-04-04 18:19:56 +0000 |
commit | 0e39a8bbfe9e77100c9f0672415b2ae32df54d29 (patch) | |
tree | 50d89163c44d492bf99d7db29f54cd141c08a233 /gas/NOTES.config | |
parent | 3c0c9328b9c299580bcf8cb6fdb3b71d5a0525ff (diff) | |
download | gdb-0e39a8bbfe9e77100c9f0672415b2ae32df54d29.zip gdb-0e39a8bbfe9e77100c9f0672415b2ae32df54d29.tar.gz gdb-0e39a8bbfe9e77100c9f0672415b2ae32df54d29.tar.bz2 |
new gas main line
Diffstat (limited to 'gas/NOTES.config')
-rw-r--r-- | gas/NOTES.config | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/gas/NOTES.config b/gas/NOTES.config new file mode 100644 index 0000000..e12797d --- /dev/null +++ b/gas/NOTES.config @@ -0,0 +1,52 @@ + + The GAS Configuration Plan + +Theory: + +The goal of the new configuration scheme is to bury all object format, +target processor, and host machine dependancies in object, target, and +host 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, a .h and a .c file for each target processor, and a .h for +each host. config.gas creates {sym}links in the current directory to +the appropriate files in the config directory. config.gas also serves +as a list of triplets {host, target, object-format} that have been +tested at one time or another. I also recommend that config.gas be +used to document triplet specific notes as to purpose of the triplet, +etc. + +Implementation: + +host.h is a {sym}link to .../config/xm-yourhost.h. It is intended to +be used to hide host compiler, system header file, and system library +differences between host machines. If your host needs actual c source +files, then either: these are generally useful functions, in which +case you should probably build a local library outside of the gas +source tree, or someone, perhaps me, is confused about what is needed +by different hosts. + +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 host.h, defines a number of gas +specific structures and types, and then includes tp.h, obj.h, and +target-environment.h. + +target-environment.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 "target-processor.h", and then +defines the object specific macros, functions, types, and structures. + +target-processor.h + +target-processor. + +Porting: + +There appear to be four major types of ports; new hosts, new target +processors, new object file formats, and new target environments. |