17.01.2015 Views

Relocatable Object Module Format (OMF) Specification

Relocatable Object Module Format (OMF) Specification

Relocatable Object Module Format (OMF) Specification

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Relocatable</strong> <strong>Object</strong> <strong>Module</strong> <strong>Format</strong><br />

C4H or C5H LINSYM—Symbol Line Numbers Record<br />

Description<br />

This record will be used to output line numbers for functions specified through COMDAT records. Each LINSYM<br />

record is associated with a preceding COMDAT record.<br />

History<br />

This record is an extension to the original set of 8086 object record types. It was added for Microsoft C 7.0.<br />

Record <strong>Format</strong><br />

1 2 1<br />

1 or 2 [1]<br />

[2] 2 2 or 4 1<br />

C4 Record Flags Public Line Line Checksum<br />

or Length Name Number Number<br />

C5<br />

Offset<br />

<br />

Flags Field<br />

This field contains one defined bit:<br />

01H<br />

Continuation bit. If clear, this COMDAT record establishes a new instance of the COMDAT variable;<br />

otherwise, the data is a continuation of the previous COMDAT of the symbol.<br />

Public Name Field<br />

[1] Microsoft LINK recognizes this field as a regular logical name index indicating the name of the base of the<br />

LINSYM record.<br />

[2] IBM LINK386 recognizes this field as a length-preceded name indicating the name of the base of the LINSYM<br />

record.<br />

Line Number Field<br />

An unsigned number in the range 0 to 65,535.<br />

Line Number Offset Field<br />

The offset relative to the base specified by the symbol name base. The size of this field depends on the record<br />

type.<br />

Notes<br />

Record type C5H is identical to C4H except that the Line Number Offset field is 4 bytes instead of 2.<br />

This record is used to output line numbers for functions specified through COMDAT records. Often,<br />

the residing segment as well as the relative offsets of such functions is unknown at compile time, in<br />

that the linker is the final arbiter of such information. For such cases, most compilers will generate this<br />

record to specify the line number/offset pairs relative to a symbolic name.<br />

64 <strong>OMF</strong> <strong>Specification</strong>, Version 1.1 Tool Interface Standards (TIS)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!