RetroLinker
Linker for several 8-bit, 16-bit and 32-bit formats
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
OMF::OMF86Format::FixupRecord::Fixup Class Reference

Public Types

enum  relocation_type_t {
  RelocationLowByte = 0 , RelocationOffset16 = 1 , RelocationSegment = 2 , RelocationPointer32 = 3 ,
  RelocationHighByte = 4 , RelocationOffset16_LoaderResolved = FlagTIS | 5 , RelocationOffset32_PharLap = FlagPharLap | 5 , RelocationPointer48_PharLap = 6 ,
  RelocationOffset32 = 9 , RelocationPointer48 = 11 , RelocationOffset32_LoaderResolved = 13
}
 Types for the value that needs to be relocated. More...
 

Public Member Functions

uint16_t GetSize (OMF86Format *omf, bool is32bit) const
 
void Write (OMF86Format *omf, ChecksumWriter &wr, bool is32bit) const
 
void CalculateValues (OMF86Format *omf, Module *mod)
 
void ResolveReferences (OMF86Format *omf, Module *mod)
 

Static Public Member Functions

static Fixup Read (OMF86Format *omf, Linker::Reader &rd, uint8_t leading_data_byte, bool is32bit)
 

Public Attributes

bool segment_relative
 Set if segment relative, self relative otherwise.
 
relocation_type_t type
 The type of the relocation value.
 
uint16_t offset
 Offset to value to be relocated, relative to the latest data block.
 
Reference ref
 Reference of this relocation.
 

Member Enumeration Documentation

◆ relocation_type_t

Types for the value that needs to be relocated.

Enumerator
RelocationLowByte 

Least significant 8 bits of value.

RelocationOffset16 

A 16-bit value or the 16-bit offset portion of a far address.

RelocationSegment 

The segment portion of a far address.

RelocationPointer32 

A 32-bit far address, consisting of a 16-bit segment portion and a 16-bit offset portion.

RelocationHighByte 

Most significant 8 bits of a 16-bit value.

RelocationOffset16_LoaderResolved 

A 16-bit loader-resolved value (TIS assignment)

RelocationOffset32_PharLap 

A 32-bit value or the 32-bit offset portion of a far address (Phar Lap assignment)

RelocationPointer48_PharLap 

A 48-bit far address, consisting of a 16-bit segment portion and a 32-bit offset portion (Phar Lap assignment)

RelocationOffset32 

A 32-bit value or the 32-bit offset portion of a far address (TIS assignment)

RelocationPointer48 

A 48-bit far address, consisting of a 16-bit segment portion and a 32-bit offset portion (TIS assignment)

RelocationOffset32_LoaderResolved 

A 32-bit loader-resolved value (TIS assignment)


The documentation for this class was generated from the following files: