C6.4.4 Specify the maximum region size permitted for placing unassigned
sections
You can specify the maximum size in a region that armlink can fill with unassigned sections.
Use the execution region attribute ANY_SIZE
max_size to specify the maximum
size in a region that armlink can fill with
unassigned sections.
Be aware of the following restrictions when using this keyword:
max_size must be less than or equal to the region
size.
If you use ANY_SIZE on a region
without a .ANY selector, it is ignored by
armlink.
When ANY_SIZE is present, armlink does not attempt to calculate contingency and
strictly follows the .ANY priorities.
When ANY_SIZE is not present for an
execution region containing a .ANY selector, and
you specify the --any_contingency command-line option, then armlink attempts to adjust the contingency for that execution region.
The aims are to:
Never overflow a .ANY
region.
Make sure there is a contingency reserved space left in the
given execution region. This space is reserved for veneers and section
padding.
If you specify --any_contingency on the command line, it is ignored for regions that
have ANY_SIZE specified. It is used as normal for
regions that do not have ANY_SIZE specified.
ER_1 has 0x100
reserved for linker-generated content.
ER_2 has 0x50
reserved for linker-generated content. That is about the same as the automatic
contingency of --any_contingency.
ER_3 has no reserved space. Therefore, 100% of
the region is filled, with no contingency for veneers. Omitting the ANY_SIZE parameter causes 98% of the region to be filled,
with a two percent contingency for veneers.
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.