COFF - History

History

The original Unix object file format a.out is unable to adequately support shared libraries, foreign format identification, or explicit address linkage. As development of Unix-like systems continued both inside and outside AT&T, different solutions to these and other issues emerged.

COFF was introduced in AT&T's UNIX System V for non-VAX 32-bit platforms such as the 3B20. Improvements over the existing AT&T a.out format included arbitrary sections, explicit processor declarations, and explicit address linkage.

However, the COFF design was both too limited and incompletely specified: there was a limit on the maximum number of sections, a limit on the length of section names, included source files, and the symbolic debugging information was incapable of supporting real world languages such as C, much less newer languages like C++, or new processors. All real world implementations of COFF were necessarily violations of the standard as a result. This led to numerous COFF extensions. IBM used the XCOFF format in AIX. DEC, SGI and others used ECOFF; And numerous SysV ports and tool chains targeting embedded development each created their own, incompatible, variations.

With the release of SVR4, AT&T replaced COFF with ELF.

While extended versions of COFF continue to be used for some Unix-like platforms, primarily in embedded systems, perhaps the most widespread use of the COFF format today is in Microsoft's Portable Executable (PE) format. Developed for Windows NT, the PE format (sometimes written as PE/COFF) uses a COFF header for object files, and as a component of the PE header for executable files.

Read more about this topic:  COFF

Famous quotes containing the word history:

    Every library should try to be complete on something, if it were only the history of pinheads.
    Oliver Wendell Holmes, Sr. (1809–1894)

    Only the history of free peoples is worth our attention; the history of men under a despotism is merely a collection of anecdotes.
    —Sébastien-Roch Nicolas De Chamfort (1741–1794)

    Look through the whole history of countries professing the Romish religion, and you will uniformly find the leaven of this besetting and accursed principle of action—that the end will sanction any means.
    Samuel Taylor Coleridge (1772–1834)