module RiSC16::Linker

Extended Modules

Defined in:

assembler/linker.cr

Constant Summary

ENDIAN = IO::ByteFormat::BigEndian

Instance Method Summary

Instance Method Detail

def link_local_beq(object) #

Remove local beq


[View source]
def merge(spec : Spec, objects : Array(RiSC16::Object)) : RiSC16::Object #

Link several objects into a single object. It set the absolute field of section, which mean Attributing them an absolute location, assuming a loading location of 0.


[View source]
def static_link(spec, object, io, start : Int32 = 0) #

Static link an object into a binary blob, expected to be loaded at a given lovation (default to 0). It performs the final symbols/value substitution. This is the piece of code that would be necessary to bootstrap to be able to dynamically load programs from another program (this would also work for loading dynamic libraries).


[View source]
def strip_unused(object) #

[View source]
def symbols_from_spec(spec) #

[View source]