SPRAB89A September 2011 – March 2014
The bare-metal dynamic linking model is a platform-neutral model intended for applications that require separately linked components, but are not bound by the specific conventions of a particular operating system. Both the DSBT model and GOT-based addressing can be optionally excluded, reducing the run-time performance penalty of dynamic linking to nearly zero, at the expense of more constrained placement and addressing schemes.
In its minimal form, without DSBT and without position-independence, the model supports dynamic linking and loading of libraries, but does not support sharing of libraries between different executables. In other words, without GOT and without DSBT, the bare-metal dynamic linking model uses exactly the addressing schemes of a single statically linked bare-metal executable, resulting in significant performance advantages at the expense of flexibility.
When more flexibility is required, DSBT can be optionally enabled, allowing separately built libraries to have their own data segment. Similarly, position independence can be optionally enabled, allowing libraries to be shared among executables.