4.23 Using compiler and linker support for symbol versions

The compiler and the linker both support the GNU-extended symbol versioning model.

To create a function with a symbol version in C or C++ code, you must use the assembly
label GNU extension. Use this extension to rename the function symbol into a symbol that has
either of the following names: