The coff patches intend to do the following : . Generate coff files very compatible with vanilla linker. . Understands coff debug directives. Here are the guidelines of the work I have done : . Encapsulate format dependent code in macros where it is possible. . Where not possible differenciate with #ifdef . try not to change the calling conventions of the existing functions. I made one exception : symbol_new. I would be pleased to hear about a better solution. (symbols.c) . Extend the use of N_TYPE_seg seg_N_TYPE tables so that segments can be manipulated without using their format dependent name. (subsegs.c) . Write a function to parse the .def debug directives . Write two small peaces of code to handle the .ln directive. . In write.c try to move all the cross compilation specifics (md_..) to format dependent files. . Encapsulate the data structures using generic types, macros calls. . Added too much code to resolve the complexity of the symbol table generated. Most of the code deals with debug stuff. . Create another makefile, shorter, cleaner. . Create a config.gas shell script to mimic the gcc,gdb... configuration mechanism. This reduce the complexity of the makefile. . Isolate the format dependent code in two files coff.c coff.h aout.c aout.h elf.c elf.h [ Not yet ;-] . added a little stack management routine for coff in file stack.c . isolate os specific flags in m- files If further development is planed on it is should solve the following problems : . Encapsulate DESC & OTHER tests in a macro call. I'm not aware of their exact semantics. . Clean up the seg_N_TYPE N_TYPE_seg naming scheme . Try to remove as much reference to segment dependent names as possible . Find a cleaner solution for symbol_new. . Report the modifications on vax, ns32k, sparc machine dependent files. To acheive this goal, search for \