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 16-bit function pointers using the handle() operator. The linker then builds a special input section named .handle to implement a jump table. This operation is important for dsPIC33C/E/F architectures, but is not needed for the dsPIC33A architecture. For more information about handles, see 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 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 Interrupt Vector Tables [DD].