Symbols for CVPACK Optimization

(0x0400) Procedure Reference

This symbol in inserted into the global and static symbol tables to reference a procedure. It is used so that the symbol procedure can be found in the hashed search of the global or static symbol table. Otherwise, procedures could be found only by searching the symbol table for every module.

2

2

4

4

2

length

S_PROCREF

checksum

offset

module


checksum Checksum of the referenced symbol name. The checksum used is the one specified in the header of the sstGlobalSym or sstStaticSym subsections. See Section 7.4 for details of the subsection headers.

offset Offset of the procedure symbol record from the beginning of the $$SYMBOL table for the module.

module Index of the module that contains this procedure record

(0x0401) Data Reference

This symbol in inserted into the global and static symbol tables to reference data. It is used so that the symbol procedure can be found in the hashed search of the global or staticsymbol table. Otherwise, data symbols could be found only by searching the symbol table for every module.

2

2

4

4

2

length

S_DATAREF

checksum

offset

module


checksum Checksum of the referenced symbol name

offset Offset of the procedure symbol record from the beginning of the $$SYMBOL table for the module.

module Index of the module that contains this procedure record

(0x0402) Symbol Page Alignment

This symbol is inserted by CVPACK to pad symbol space so that the next symbol will not cross a page boundary.

2

2

*

length

S_ALIGN

pad


pad Unused data. Use the length field that precedes every symbol record to skip this record. The pad bytes must be zero. For sstGlobalSym and sstGlobalPub, length of the pad field must be at least sizeof (long). There must be an S_Align symbol at the end of these tables with a pad field containing 0xffffffff. The sstStaticSym table does not have this requirement.