The linker defines some symbols that are reserved by ARM®, and that you can access if required.
Symbols that contain the character sequence
$$, and all other external names containing the sequence
$$, are names reserved by ARM.
You can import these symbolic addresses and use them as relocatable addresses by your
assembly language programs, or refer to them as
from your C or C++ source code.
Be aware that:
- If you use the
--strictcompiler command-line option, the compiler does not accept symbol names containing dollar symbols. To re-enable support, include the
--dollaroption on the compiler command line.
- Linker-defined symbols are only generated when your code references them.
If execute-only (XO) sections are present, linker-defined symbols are defined with the following constraints:
- XO linker defined symbols cannot be defined with respect to an empty region or a region that has no XO sections.
- XO linker defined symbols cannot be defined with respect to a region that contains only RO sections.
- RO linker defined symbols cannot be defined with respect to a region that contains only XO sections.