The SECTIONS directive is specified in a command file by the word SECTIONS (uppercase), followed by a list of output section specifications enclosed in braces.
The general syntax for the SECTIONS directive is:
| SECTIONS | |
| { | |
| name : [property [, property] [, property] . . . ] | |
| name : [property [, property] [, property] . . . ] | |
| name : [property [, property] [, property] . . . ] | |
| } | |
Each section specification, beginning with name, defines an output section. (An output section is a section in the output file.) Section names can refer to sections, subsections, or archive library members. (See Section 8.5.5.4 for information on multi-level subsections.) After the section name is a list of properties that define the section's contents and how the section is allocated. The properties can be separated by optional commas. Possible properties for a section are as follows:
|
|
|||
| Syntax: | load = allocation | or | |
| > allocation | |||
|
|
|||
| Syntax: | run = allocation | or | |
| run > allocation | |||
|
|
|||
| Syntax: | { input_sections } | ||
|
|
|||
| Syntax: | type = COPY | or | |
| type = DSECT | or | ||
| type = NOLOAD | |||
|
|
|||
| Syntax: | fill = value | ||
Example 5 shows a SECTIONS directive in a sample linker command file.