Skip Navigation Links | |
Exit Print View | |
Oracle Solaris 11.1 Linkers and Libraries Guide Oracle Solaris 11.1 Information Library |
Part I Using the Link-Editor and Runtime Linker
1. Introduction to the Oracle Solaris Link Editors
5. Link-Editor Quick Reference
7. Building Objects to Optimize System Performance
Creating a Weak Version Definition
Binding to a Version Definition
Verifying Versions in Additional Objects
Binding to Additional Version Definitions
Coordination of Versioned Filenames
Multiple External Versioned Files in the Same Process
10. Establishing Dependencies with Dynamic String Tokens
Part IV ELF Application Binary Interface
13. Program Loading and Dynamic Linking
A. Linker and Libraries Updates and New Features
Many types of change can be made to an object. In their simplest terms, these changes can be categorized into one of two groups.
Compatible updates. These updates are additive. All previously available interfaces remain intact.
Incompatible updates. These updates change the existing interface. Existing users of the interface can fail, or behave incorrectly.
The following table categorizes some common object changes.
Table 9-1 Examples of Interface Compatibility
|
Note - Because of interposition, the addition of a symbol can constitute an incompatible update. The new symbol might conflict with an applications use of that symbol. However, this form of incompatibility does seem rare in practice as source-level namespace management is commonly used.
Compatible updates can be accommodated by maintaining version definitions that are internal to the object being generated. Incompatible updates can be accommodated by producing a new object with a new external versioned name. Both of these versioning techniques enable the selective binding of applications. These techniques also enable verification of correct version binding at runtime. These two techniques are explored in more detail in the following sections.