Go to main content

Oracle® Solaris 11.3 Linkers and Libraries Guide

Exit Print View

Updated: March 2018
Part I

Using the Link-Editor and Runtime Linker

Chapter 1

Introduction to the Oracle Solaris Link Editors

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, position-independent executable, relocatable object, or a shared object. The link-editor is most commonly invoked as part of the compilation environment.

Runtime Linker

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

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.

Object Files

The Oracle Solaris link-editor, runtime linker, and related tools, work with files that conform to the executable and linking format, otherwise referred to as ELF.

These areas, although separable into individual topics, have a great deal of overlap. While explaining each area, this document brings together the connecting principles.