SPRAB89A September 2011 – March 2014
In general, program loading describes the steps involved in taking a program represented as an ELF file—or in the case of dynamic linking, more than one ELF file— and beginning its execution. By its nature, this process is platform and system specific.
Dynamic linking is a set of related mechanisms that enables programs to consist of separately built components that are linked and relocated at load time, and to share those components among multiple executables.
A system may use a subset of the mechanisms depending on its specific requirements. For example, a bare-metal platform running only one process may require dynamic linking and loading, but not require position independence or shared objects.
This part of the ABI is based on Chapter 5 of the System V ABI standard (http://www.sco.com/developers/gabi/2003-12-17/contents.html), which describes object file information and system actions that create running programs. This section contains a processor-specific supplement to that standard for those elements that are common to most C6000-based systems. This section also defines one specific profile, called the Bare-Metal Dynamic Linking Model.
The other specific profile defined by this ABI is the Linux model. The processor specific supplement to the System V ABI standard for Linux is in Chapter 15.