11.1.4 Creating Special Sections

After the symbols have been resolved, the linker constructs any special input or output sections that are required. For example, the compiler or assembler may have created function pointers using the handle() operator. The linker then builds a special input section named .handle to implement a jump table. For more information about handles, see 11.5 Handles.

The linker also constructs a special input section named .dinit to support initialized data. Section.dinit is an initialization template that is interpreted by the C run-time library. For more information about initialized data, see 11.6 Initialized Data.

If the application has not defined a default interrupt handler, the linker will create one automatically in a special input section named .isr. Unused slots in the interrupt vector tables are populated with the address of this function. For more information on the default interrupt handler, see section 11.10 Interrupt Vector Tables [DD].