module RiSC16::Linker
Extended Modules
Defined in:
assembler/linker.crConstant Summary
-
ENDIAN =
IO::ByteFormat::BigEndian
Instance Method Summary
-
#link_local_beq(object)
Remove local beq
-
#merge(spec : Spec, objects : Array(RiSC16::Object)) : RiSC16::Object
Link several objects into a single object.
-
#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).
- #strip_unused(object)
- #symbols_from_spec(spec)
Instance Method Detail
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.
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).