|
RetroLinker
Linker for several 8-bit, 16-bit and 32-bit formats
|
Initialization data for common segments, used for COMDAT (included in TIS) More...
#include <omf.h>
Public Member Functions | |
| InitializedCommunalDataRecord (record_type_t record_type=record_type_t(0)) | |
| void | ReadRecordContents (OMF86Format *omf, Module *mod, Linker::Reader &rd) override |
| uint16_t | GetRecordSize (OMF86Format *omf, Module *mod) const override |
| void | WriteRecordContents (OMF86Format *omf, Module *mod, ChecksumWriter &wr) const override |
| void | CalculateValues (OMF86Format *omf, Module *mod) override |
| void | ResolveReferences (OMF86Format *omf, Module *mod) override |
Public Member Functions inherited from OMF::OMFFormat::Record< RecordTypeByte, FormatType, ModuleType > | |
| Record (RecordTypeByte record_type=RecordTypeByte(0)) | |
| offset_t | RecordEnd () const |
| virtual void | ReadRecordContents (FormatType *omf, ModuleType *mod, Linker::Reader &rd)=0 |
| Reads the record contents, except for the type, length and checksum. | |
| virtual uint16_t | GetRecordSize (FormatType *omf, ModuleType *mod) const =0 |
| Calculates the required bytes to write the record, might be less than record_length. | |
| virtual void | WriteRecordContents (FormatType *omf, ModuleType *mod, ChecksumWriter &wr) const =0 |
| Writes the record contents, except for the type, length and checksum. | |
| virtual void | WriteRecord (FormatType *omf, ModuleType *mod, Linker::Writer &wr) const |
| Writes the full record. | |
| virtual void | CalculateValues (FormatType *omf, ModuleType *mod) |
| Updates all fields that will be used for writing an OMF module, should be called before output. | |
| virtual void | ResolveReferences (FormatType *omf, ModuleType *mod) |
| Resolves any fields read from an OMF module, should be called after inpnut. | |
| virtual void | DumpAddFields (Dumper::Dumper &dump, Dumper::Region ®ion, const FormatType *omf, const ModuleType *mod, size_t record_index) const |
| virtual void | Dump (Dumper::Dumper &dump, const FormatType *omf, const ModuleType *mod, size_t record_index) const |
| bool | Is32Bit (FormatType *omf) const |
| Records are 32-bit if the least significant bit of their record type is set (only meaningful for OMF86Format) | |
| size_t | GetOffsetSize (FormatType *omf) const |
| The number of bytes in an offset appearing inside the record, 2 for 16-bit records, 4 for 32-bit records (only meaningful for OMF86Format) | |
Public Attributes | |
| bool | continued |
| Set if this record is the continuation of a previous record, cleared if it is a new record. | |
| bool | iterated |
| Set if the format of the data is iterated, cleared for enumerated. | |
| bool | local |
| Local common segment. | |
| bool | code_segment |
| Set if the data is to be placed in a code segment. | |
| selection_criterion_t | selection_criterion |
| allocation_type_t | allocation_type |
| SegmentDefinitionRecord::alignment_t | alignment |
| uint32_t | offset |
| TypeIndex | type |
| BaseSpecification | base |
| NameIndex | name |
| std::shared_ptr< DataBlock > | data |
Public Attributes inherited from OMF::OMFFormat::Record< RecordTypeByte, FormatType, ModuleType > | |
| offset_t | record_offset |
| Offset of record within the file. | |
| uint16_t | record_length |
| Length of record body file, excluding the type byte and 2-byte length field. | |
| RecordTypeByte | record_type |
| A byte value identifying the type of record. | |
Static Public Attributes | |
| static constexpr uint8_t | SelectionCriterionMask = 0xF0 |
| static constexpr uint8_t | AllocationTypeMask = 0x0F |
| static constexpr SegmentDefinitionRecord::alignment_t | UseSegment = SegmentDefinitionRecord::alignment_t(0) |
Initialization data for common segments, used for COMDAT (included in TIS)