rld Manual
RLD Overview
RLD Manual—528857-006
1-3
How rld Operates
rld uses a procedure call to establish a session between the operating system and
itself. The function returns the name of the main program and keys representing the
rld loadfile itself, the public library set, user library and the main program.
2. rld constructs the loadList
rld adds the main program to the loadList followed by the user library, if any. Then
starting with the libList of the main program, it finds and opens the required libraries.
Using the libList in each library, it finds and opens any additional libraries they require,
completing the breadth-first transitive closure of the libLists. A library found on multiple
libLists appears only once on the loadList.
During this phase, the text header segment of each loadfile is mapped into the
process; the mapping might be tentative.
If the loader library itself appears on any libList (i.e. some loadfile needs the loader
library to access the runtime linking functions), rld adds it to the loadList and
recognizes that the library already exists in the process and that its instance data has
been instantiated (that is, rld skips the following phases 3 and 4 in this case). rld
also recognizes that the loader library cannot be unmapped after the completion of the
load.
For hybrid SRLs on TNS/R, rld ensures that the designated libraries on the libList of a
hybrid SRL are hybrids (that is - a private DLL is not allowed to replace a public SRL).
3. rld completes the text and address mapping
Using a multi-pass algorithm, rld permanently maps all the loadfiles with tentative
mappings, establishing their final addresses in this process.
4. rld maps and initializes the data segment
In one pass through the explicit loadfiles in the loadList,
rld sets up the loader searchList and develops the preliminary LIC and
indicates to the operating system whether unresolved procedures should
generate errors/warnings.
rld maps the data segment using the loader support facilities.
A FastLoadable loadfile is one whose bindings have been preset by eld, or
automatically updated by rld and the operating system. If such a loadfile
cannot be FastLoaded, rld rebinds the symbols as follows:
rld traverses through the searchList using rules for symbol linkage to
search for the symbol definition.
If the symbol definition cannot be found, rld searches for the symbol in
the implicit libraries.
If this fails, rld tries to bind the procedure symbol to an “unresolved”
function.