|Home > Image Structure and Generation > Linker-generated veneers > Reuse of veneers when scatter-loading|
The linker reuses veneers whenever possible, but there are some limitations on the reuse of veneers in protected load regions and overlaid execution regions.
A scatter file enables you to create regions that share the same area of RAM:
If you use the
PROTECTED attribute for a load
region it prevents:
AUTO_OVERLAYattribute for a region, no other execution region can reuse a veneer placed in an overlay execution region.
OVERLAYattribute for a region, no other execution region can reuse a veneer placed in an overlay execution region.
If it is not possible to reuse a veneer, new veneers are created instead. Unless you have instructed the linker to place veneers somewhere specific using scatter-loading, a veneer is usually placed in the execution region that contains the call requiring the veneer. However, in some situations the linker has to place the veneer in an adjacent execution region, either to maximize sharing opportunities or for a short branch veneer to reach its target.