| |||
| Home > Formal syntax of the scatter-loading description file > Behavior when .ANY sections overflow because of linker-generated content | |||
Linker-generated content might cause .ANY regions
to overflow. This is because the linker does not know the address
of a section until it is assigned to a region. Therefore, when filling .ANY regions,
the linker cannot calculate the contingency space and cannot determine
if calling functions require veneers. The linker provides a contingency algorithm
that gives a worst-case estimate for padding and an additional two
percent for veneers. To enable this algorithm use the --any_contingency command-line
option.
The following diagram is a representation of the notional
image layout during .ANY placement:
The downward arrows for prospective padding show that the
prospective padding continues to grow as more sections are added
to the .ANY selector.
Prospective padding is dealt with before the two percent veneer contingency.
When the prospective padding is cleared the priority is set to zero. When the two percent is cleared the priority is decremented again.
You can also use the ANY_SIZE keyword on
an execution region to specify the maximum amount of space in the
region to set aside for .ANY section assignments.