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 extern symbols
from your C or C++ source code.
Be aware that:
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.
Note:
XO memory
is supported only for Armv7‑M and Armv8‑M architectures.
Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers of your data.