6.26 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:

  • name@ver if ver is a non default version of name.

  • name@@ver if ver 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

To define a non default version:

|my_versioned_symbol@ver1|    ; Non default version
my_old_asm_function     PROC
                        BX lr
Non-ConfidentialPDF file icon PDF versionDUI0801J
Copyright © 2014–2017, 2019 Arm Limited or its affiliates. All rights reserved.