Object Module Format (Intel)

[5] Version 4.0 of OMF for the 8086 family was released in 1981 under the name Relocatable Object Module Format,[6][3][4] and is perhaps best known to DOS users as an .OBJ file.

The Relocatable Object Module Format, however, was designed to require minimal memory when linking, and consists of a series of records that have the following format: There is a wide variety of record types because of consolidation of OMF variants from several vendors, and because of adding such features as 32-bit code and dynamic linking.

In the OMF format the data of one section is not necessarily stored as contiguous bytes in the file, instead it can be represented by multiple records.

Records containing relocation information (fixups) must be stored immediately following the data records of the section they apply to, so the section data and the relocation information is "mixed" in the file.

It was the only format of object files that could be linked to a program or unit written in Object Pascal prior to version XE2 of Delphi, which introduced support of COFF format, along with 64-bit Windows target.