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].