Additionally, the compiler marks a COFF object as registered SEH by emitting the absolute symbol with the LSB of the value field set to 1. A COFF object “@feat.00” with no registered SEH handlers would have the symbol, but no .sxdata “@feat.00” section. Archive (Library) File Format The COFF archive format provides a standard mechanism for storing collections of object files. These collections are commonly called in programming libraries documentation. The 8 bytes of an archive consist of the file signature. The rest of the archive consists of a series of archive members, as follows: The first and second members are members.” Each of these members “linker has its own format as described in section 8.3, Name Type.” Typically, “Import a linker places information into these archive members. The linker members contain the directory of the archive. The third member is the member. This member consists of a “longnames” series of null-terminated ASCII strings in which each string is the name of another archive member. The rest of the archive consists of standard (object-file) members. Each of these members contains the contents of one object file in its entirety. An archive member header precedes each member. Figure 4 the general structure of an archive. Signature :”!<arch>\n” Header 1st Linker Member Header 2nd Linker Member Header Longnames Member Header Contents of OBJ File 1 (COFF format) Header
Additionally, the compiler marks a COFF object as registered SEH by emitting the absolute symbol “@feat.00” with the LSB of the value field set to 1. A COFF object with no registered SEH handlers would have the “@feat.00” symbol, but no .sxdata section. Archive (Library) File Format The COFF archive format provides a standard mechanism for storing collections of object files. These collections are commonly called libraries in programming documentation. The 8 bytes of an archive consist of the file signature. The rest of the archive consists of a series of archive members, as follows: The first and second members are “linker members.” Each of these members has its own format as described in section 8.3, “Import Name Type.” Typically, a linker places information into these archive members. The linker members contain the directory of the archive. The third member is the “longnames” member. This member consists of a series of null-terminated ASCII strings in which each string is the name of another archive member. The rest of the archive consists of standard (object-file) members. Each of these members contains the contents of one object file in its entirety. An archive member header precedes each member. Figure 4 the general structure of an archive. Signature :”!<arch>\n” Header 1st Linker Member Header 2nd Linker Member Header Longnames Member Header Contents of OBJ File 1 (COFF format) Header
EN%20-%20Microsoft%20Portable%20Executable%20and%20Common%20Object%20File%20Format%20Specification.docx