|Home > armlink Command-line Options > --any_placement=algorithm|
Controls the placement of sections that are placed using the
.ANY module selector.
is one of the following:
Place the section using the following rules:
Use this option with the
The placement algorithms interact with scatter files and
.ANYassigns a section to the most specific selector. All algorithms continue to assign to the most specific selector in preference to
.ANYpriority or size considerations.
Priority is considered after assignment to the most specific selector in all algorithms.
best_fit consider priority before
their individual placement criteria. For example, you might have
.ANY2 selectors, with the
.ANY1 region having the most free space. When using
worst_fit the section is assigned to .
it has higher priority. Only if the priorities are equal does the algorithm come into
first_fit considers the most specific selector first, then priority.
It does not introduce any more placement rules.
next_fit also does not introduce any more placement rules. If a
region is marked full during
next_fit, that region cannot be
considered again regardless of priority.
The priority of a
.ANY selector is reduced to
if the region might overflow because of linker-generated content. This is enabled and
disabled independently of the sorting and placement algorithms.
armlink calculates a worst-case contingency for each section.
first_fit, when a region is about to overflow because of the
armlink lowers the priority of the related
next_fit, when a possible overflow is detected,
armlink marks that section as
FULL and does not
consider it again. This stays consistent with the rule that when a section is full it
can never be revisited.
The default option is