You copied the Doc URL to your clipboard.

Arm Compiler User Guide : Placement of unassigned sections

Placement of unassigned sections

The linker attempts to place input sections into specific execution regions. For any input sections that cannot be resolved, and where the placement of those sections is not important, you can specify where the linker is to place them.

To place sections that are not automatically assigned to specific execution regions, use the .ANY module selector in a scatter file.

Usually, a single .ANY selector is equivalent to using the * module selector. However, unlike *, you can specify .ANY in multiple execution regions.

The linker has default rules for placing unassigned sections when you specify multiple .ANY selectors. However, you can override the default rules using the following command-line options:

  • --any_contingency to permit extra space in any execution regions containing .ANY sections for linker-generated content such as veneers and alignment padding.
  • --any_placement to provide more control over the placement of unassigned sections.
  • --any_sort_order to control the sort order of unassigned input sections.

In a scatter file, you can also:

  • Assign a priority to a .ANY selector. This gives you more control over how the unassigned sections are divided between multiple execution regions. You can assign the same priority to more than one execution region.
  • Specify the maximum size for an execution region that the linker can fill with unassigned sections.

This section contains the following subsections: