Microchip Technology SW006023-2 Data Sheet

Page of 238
Linking Programs
 2012 Microchip Technology Inc.
DS51686E-page 185
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
    . = ALIGN(4) ;
  } >kseg0_program_mem
  .dtors   :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
    . = ALIGN(4) ;
  } >kseg0_program_mem
17.4.4.10 .RODATA SECTION
Standard read-only sections are not mapped in the linker script. A few special read-only 
sections are still mapped in the linker script, but most sections are unmapped, allowing 
them to be handled by the best fit allocator. This section is assigned to the program 
memory region (kseg0_program_mem).
.rodata   :
{
  *(.gnu.linkonce.r.*)
  *(.rodata1)
} > kseg0_program_mem
17.4.4.11 .SDATA2 SECTION
This section collects the small initialized constant global and static data from all of the 
application’s input files. Because of the constant nature of the data, this section is also 
a read-only section. This section is assigned to the program memory region 
(kseg0_program_mem).
/*
 * Small initialized constant global and static data can be
 * placed in the .sdata2 section. This is different from
 * .sdata, which contains small initialized non-constant
 * global and static data.
 */
.sdata2   :
{
  *(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
} > kseg0_program_mem
Note:
The order of the input sections within each output section is significant.