Moreover, the base unit must have its data segment brought closer to its code segment, since no transfer instruction can have a range of more than bytes. Moreover, the dynamic loader allows full access to virtually all the system libraries, and even allows access to routines loaded in other modules. The author's version of load uses dynamic loading throughout. Once again, dynamically-loaded code must be compiled to be position independent. Some of the system libraries are unavailable in this form.
Shared libraries are perforce the only way to do dynamic loading.
This is the most capable of the approaches, since it allows for static constructor calls, places no restrictions on library usage, and does not require any special compilation options. Alas, it is implemented only on VAX and SunOS 4.x platforms, and does not appear to be actively maintained. Continue with Section 4. Limitations of the techniques Up to Table of Contents Back to Section 2. PostScript copy of the paper as it appears in the Proceedings.