Next: Output Section LMA, Up: Output Section Attributes [Contents][Index]
Each output section may have a type. The type is a keyword in parentheses. The following types are defined:
NOLOADThe section should be marked as not loadable, so that it will not be loaded into memory when the program is run.
READONLYThe section should be marked as read-only.
DSECTCOPYINFOOVERLAYThese type names are supported for backward compatibility, and are rarely used. They all have the same effect: the section should be marked as not allocatable, so that no memory is allocated for the section when the program is run.
TYPE = typeSet the section type to the integer type. When generating an ELF
output file, type names SHT_PROGBITS, SHT_STRTAB,
SHT_NOTE, SHT_NOBITS, SHT_INIT_ARRAY,
SHT_FINI_ARRAY, and SHT_PREINIT_ARRAY are also allowed
for type. It is the user’s responsibility to ensure that any
special requirements of the section type are met.
READONLY ( TYPE = type )This form of the syntax combines the READONLY type with the type specified by type.
The linker normally sets the attributes of an output section based on the input sections which map into it. You can override this by using the section type. For example, in the script sample below, the ‘ROM’ section is addressed at memory location ‘0’ and does not need to be loaded when the program is run.
SECTIONS {
ROM 0 (NOLOAD) : { … }
…
}