SPRAB89A September 2011 – March 2014
The ABI addresses these issues through several related mechanisms:
The general ELF Dynamic linking mechanisms define the object file representations to support load-time symbol resolution and relocation. Most of these are target independent and are specified by the GABI. Target specific aspects are described in Section 14.4.
A Procedure Linkage Table (PLT) Entry is a linker-generated stub used to resolve calls to imported functions.
The Global Offset Table (GOT) is an addressing method for referencing imported objects that supports position independence and privatization by placing address constants in a table in the data section rather than encoding them into the code. These benefits come at the cost of an extra indirection for a GOT-based reference, plus the additional data space for the table.
The Data Segment Base Table (DSBT) model is a software convention that allows each component to have its own dedicated data segment, so references to its own data can be statically resolved without regard to other components. The DSBT mechanism enables position-independent code without virtual memory, enabling a single instance of shared code to address multiple copies of dynamically-bound private data.