|Home > BPABI Shared Libraries and Executables > Symbol versioning > Overview of symbol versioning|
Symbol versioning enables shared object creators to produce new versions of symbols for use by all new clients, while maintaining compatibility with clients linked against old versions of the shared object.
Symbol versioning adds the concept of a version to the dynamic symbol table. A version is a name that symbols are associated with. When a dynamic loader tries to resolve a symbol reference associated with a version name, it can only match against a symbol definition with the same version name.
While a shared object might have multiple versions of the same symbol, a client of the shared object can only bind against the latest version.
This is called the default version of the symbol.
By default, the linker does not create versioned symbols for a non Base Platform Application Binary Interface (BPABI) shared object.