| |||
| Home > Writing ARM Assembly Language > Symbol versions | |||
The ARM linker conforms to the Base Platform ABI for the ARM Architecture (BPABI) and supports the GNU-extended symbol versioning model.
To add a symbol version to an existing symbol, you must define a version symbol at the same address. A version symbol is of the form:
if name@verver is
a non default version of name
if name@@verver is
the default version of name.
The version symbols must be enclosed in vertical bars.
For example, to define a default version:
|my_versioned_symbol@@ver2| ; Default version
my_asm_function PROC
...
BX lr
ENDP
To define a non default version:
|my_versioned_symbol@ver1| ; Non default version
my_old_asm_function PROC
...
BX lr
ENDP
Using the Linker: