8.3.3 Load region attributes

A load region has attributes that allow you to control where parts of your image are loaded in the target memory.

The load region attributes are:
ABSOLUTE
The content is placed at a fixed address that does not change after linking. The load address of the region is specified by the base designator. This is the default, unless you use PI or RELOC.
ALIGN alignment
Increase the alignment constraint for the load region from 4 to alignment. alignment must be a positive power of 2. If the load region has a base_address then this must be alignment aligned. If the load region has a +offset then the linker aligns the calculated base address of the region to an alignment boundary.
This can also affect the offset in the ELF file. For example, the following causes the data for FOO to be written out at 4k offset into the ELF file:
FOO +4 ALIGN 4096
NOCOMPRESS
RW data compression is enabled by default. The NOCOMPRESS keyword enables you to specify that the contents of a load region must not be compressed in the final image.
OVERLAY
The OVERLAY keyword enables you to have multiple load regions at the same address. ARM tools do not provide an overlay mechanism. To use multiple load regions at the same address, you must provide your own overlay manager.
The content is placed at a fixed address that does not change after linking. The content might overlap with other regions designated as OVERLAY regions.
PI
This region is position independent. The content does not depend on any fixed address and might be moved after linking without any extra processing.

Note

This attribute is not supported if an image contains execute-only sections.
PROTECTED
The PROTECTED keyword prevents:
  • Overlapping of load regions.
  • Veneer sharing.
  • String sharing with the --merge option.
RELOC
This region is relocatable. The content depends on fixed addresses. Relocation information is output to enable the content to be moved to another location by another tool.

Note

This attribute is not supported if an image contains execute-only sections.
Related concepts
8.6.11 Example of aligning a base address in execution space but still tightly packed in load space
3.3.3 Section alignment with the linker
3.6.5 Reuse of veneers when scatter-loading
7.9 Creation of regions on page boundaries
7.6 Placement of sections with overlays
8.3.6 Considerations when using a relative address +offset for a load region
8.3.4 Inheritance rules for load region address attributes
8.3.5 Inheritance rules for the RELOC address attribute
3.6.2 Veneer sharing
3.6.4 Generation of position independent to absolute veneers
4.7 Optimization with RW data compression
Related reference
8.3.1 Components of a load region description
8.3.2 Syntax of a load region description
9.81 --merge, --no_merge
Non-ConfidentialPDF file icon PDF versionARM DUI0377G
Copyright © 2007, 2008, 2011, 2012, 2014, 2015 ARM. All rights reserved.