C# Class Mosa.Compiler.Linker.BaseLinker

Show file Open project: tgiphil/MOSA-Project Class Usage Examples

Public Methods

Method Description
BaseLinker ( ulong baseAddress, Endianness endianness, MachineType machineType, bool emitSymbols, LinkerFormatType linkerFormatType ) : System
CreateSymbol ( string name, SectionKind kind, int alignment, int size ) : LinkerSymbol
Emit ( Stream stream ) : void
FindSymbol ( string name ) : LinkerSymbol
FindSymbol ( string name, SectionKind kind ) : LinkerSymbol
GetConstantSymbol ( double value ) : LinkerSymbol
GetConstantSymbol ( float value ) : LinkerSymbol
GetConstantSymbol ( int value ) : LinkerSymbol
GetConstantSymbol ( long value ) : LinkerSymbol
GetConstantSymbol ( uint value ) : LinkerSymbol
GetConstantSymbol ( ulong value ) : LinkerSymbol
GetSymbol ( string name, SectionKind kind ) : LinkerSymbol
Link ( LinkType linkType, Mosa.Compiler.Linker.PatchType patchType, LinkerSymbol patchSymbol, int patchOffset, LinkerSymbol referenceSymbol, int referenceOffset ) : void
Link ( LinkType linkType, Mosa.Compiler.Linker.PatchType patchType, LinkerSymbol patchSymbol, int patchOffset, SectionKind referenceKind, string referenceSymbolName, int referenceOffset ) : void
Link ( LinkType linkType, Mosa.Compiler.Linker.PatchType patchType, SectionKind patchKind, string patchSymbolName, int patchOffset, LinkerSymbol referenceSymbol, int referenceOffset ) : void
Link ( LinkType linkType, Mosa.Compiler.Linker.PatchType patchType, SectionKind patchKind, string patchSymbolName, int patchOffset, SectionKind referenceKind, string referenceSymbolName, int referenceOffset ) : void
SetFirst ( LinkerSymbol symbol ) : void

Protected Methods

Method Description
CreateSymbol ( string name, SectionKind kind, uint alignment ) : LinkerSymbol

Private Methods

Method Description
AddSection ( LinkerSection section ) : void
ApplyPatch ( LinkRequest linkRequest ) : void
ApplyPatches ( ) : void
FinalizeLayout ( ) : void
GetPatchTypeSize ( Mosa.Compiler.Linker.PatchType patchType ) : byte
LayoutObjectsAndSections ( ) : void

Method Details

BaseLinker() public method

public BaseLinker ( ulong baseAddress, Endianness endianness, MachineType machineType, bool emitSymbols, LinkerFormatType linkerFormatType ) : System
baseAddress ulong
endianness Endianness
machineType MachineType
emitSymbols bool
linkerFormatType LinkerFormatType
return System

CreateSymbol() public method

public CreateSymbol ( string name, SectionKind kind, int alignment, int size ) : LinkerSymbol
name string
kind SectionKind
alignment int
size int
return LinkerSymbol

CreateSymbol() protected method

protected CreateSymbol ( string name, SectionKind kind, uint alignment ) : LinkerSymbol
name string
kind SectionKind
alignment uint
return LinkerSymbol

Emit() public method

public Emit ( Stream stream ) : void
stream Stream
return void

FindSymbol() public method

public FindSymbol ( string name ) : LinkerSymbol
name string
return LinkerSymbol

FindSymbol() public method

public FindSymbol ( string name, SectionKind kind ) : LinkerSymbol
name string
kind SectionKind
return LinkerSymbol

GetConstantSymbol() public method

public GetConstantSymbol ( double value ) : LinkerSymbol
value double
return LinkerSymbol

GetConstantSymbol() public method

public GetConstantSymbol ( float value ) : LinkerSymbol
value float
return LinkerSymbol

GetConstantSymbol() public method

public GetConstantSymbol ( int value ) : LinkerSymbol
value int
return LinkerSymbol

GetConstantSymbol() public method

public GetConstantSymbol ( long value ) : LinkerSymbol
value long
return LinkerSymbol

GetConstantSymbol() public method

public GetConstantSymbol ( uint value ) : LinkerSymbol
value uint
return LinkerSymbol

GetConstantSymbol() public method

public GetConstantSymbol ( ulong value ) : LinkerSymbol
value ulong
return LinkerSymbol

GetSymbol() public method

public GetSymbol ( string name, SectionKind kind ) : LinkerSymbol
name string
kind SectionKind
return LinkerSymbol

Link() public method

public Link ( LinkType linkType, Mosa.Compiler.Linker.PatchType patchType, LinkerSymbol patchSymbol, int patchOffset, LinkerSymbol referenceSymbol, int referenceOffset ) : void
linkType LinkType
patchType Mosa.Compiler.Linker.PatchType
patchSymbol LinkerSymbol
patchOffset int
referenceSymbol LinkerSymbol
referenceOffset int
return void

Link() public method

public Link ( LinkType linkType, Mosa.Compiler.Linker.PatchType patchType, LinkerSymbol patchSymbol, int patchOffset, SectionKind referenceKind, string referenceSymbolName, int referenceOffset ) : void
linkType LinkType
patchType Mosa.Compiler.Linker.PatchType
patchSymbol LinkerSymbol
patchOffset int
referenceKind SectionKind
referenceSymbolName string
referenceOffset int
return void

Link() public method

public Link ( LinkType linkType, Mosa.Compiler.Linker.PatchType patchType, SectionKind patchKind, string patchSymbolName, int patchOffset, LinkerSymbol referenceSymbol, int referenceOffset ) : void
linkType LinkType
patchType Mosa.Compiler.Linker.PatchType
patchKind SectionKind
patchSymbolName string
patchOffset int
referenceSymbol LinkerSymbol
referenceOffset int
return void

Link() public method

public Link ( LinkType linkType, Mosa.Compiler.Linker.PatchType patchType, SectionKind patchKind, string patchSymbolName, int patchOffset, SectionKind referenceKind, string referenceSymbolName, int referenceOffset ) : void
linkType LinkType
patchType Mosa.Compiler.Linker.PatchType
patchKind SectionKind
patchSymbolName string
patchOffset int
referenceKind SectionKind
referenceSymbolName string
referenceOffset int
return void

SetFirst() public method

public SetFirst ( LinkerSymbol symbol ) : void
symbol LinkerSymbol
return void