This guide describes the operations of the Oracle Solaris link-editor and runtime linker, together with the objects on which these utilities operate. The basic operation of the Oracle Solaris link-editor and runtime linker involve the combination of objects. This combination results in the symbolic references from one object being connected to the symbolic definitions within another object.
This guide expands the following areas.
The link-editor, ld(1), concatenates and interprets data from one or more input files. These files can be relocatable objects, shared objects, or archive libraries. From these input files, one output file is created. This file is either a dynamic executable, kernel module, position-independent executable, relocatable object, or a shared object. The link-editor is most commonly invoked as part of the compilation environment.
The runtime linker, ld.so.1(1), processes dynamic executables, position-independent executables, and shared objects at runtime, binding the executable and shared objects together to create a runnable process.
Shared objects are one form of output from the link-edit phase. Shared objects are sometimes referred to as Shared Libraries. Shared objects are important in creating a powerful, flexible runtime environment.
These areas, although separable into individual topics, have a great deal of overlap. While explaining each area, this document brings together the connecting principles.