Section handling
Section handling describes how ILINK should handle the sections of the execution image, which means:
Placing sections in regions
The
place atandplace indirectives place sets of sections with similar attributes into previously defined regions. See place at directive and place in directive.Reserving regions of memory
The
reserve regiondirective specifies that no content may be placed in certain memory regions. See reserve region.Making sets of sections with special requirements
The
define blockdirective makes it possible to create empty sections with specific or expanding sizes, specific alignments, sequentially sorted sections of different types, etc.The
define overlaydirective makes it possible to create an area of memory that can contain several overlay images. See define block directive, and define overlay directive.Initializing the application
The directives
initializeanddo not initializecontrol how the application should be started. With these directives, the application can initialize global symbols at startup, and copy pieces of code. The initializers can be stored in several ways, for example, they can be compressed. See initialize directive and do not initialize directive.Keeping removed sections
The
keepdirective retains sections even though they are not referred to by the rest of the application, which means it is equivalent to the root concept in the assembler and compiler. See keep directive.Specifying the contents of linker-generated sections
The
define sectiondirective can be used for creating specific sections with content and calculations that are only available at link time. See define section directive.Additional more specialized directives:
use init formatdirective,use init tabledirective
The following pages give detailed information about each linker directive specific to section handling.