\r
SECTIONS\r
{\r
+\r
+#if 0\r
/* __CALIB_RAM_START, __CALIB_RAM_END, __CALIB_ROM_START are needed by the a2l and the rte generator. \r
CALIBRATION_ENABLED, CALIBRATION_INITIALIZED_RAM, CALIBRATION_FLS_START are generated by rte \r
*/\r
__FLS_PROG_START__ = 0; /* Must be aligned to a sector start. */\r
#endif\r
\r
+#if !defined(CFG_BOOT)\r
.rcw __FLS_PROG_START__ : { *(.rcw) } > flash\r
-\r
-\r
+#endif\r
+#endif\r
.text :\r
{\r
+ crt0.o(.text);\r
*(.text .text.* .init .fini* .eini* .gnu.linkonce* .gnu.warning);\r
PROVIDE( btask_sup_matrix = .);\r
SORT(*)(.test_btask);\r
} > flash\r
\r
/* Read-only data section. */\r
- .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } > flash\r
+ .rodata : { \r
+ *(.rodata .rodata.* .gnu.linkonce.r.*);\r
+ *(.got.plt) *(.got)\r
+ } > flash\r
\r
/* initialized read-only small data section. */\r
.sdata2 : {\r
_SDA2_BASE_ = .; /* r2 */\r
*(.sdata2 .sdata2.* .gnu.linkonce.s2.*);\r
*(PPC.EMB.sdata2 .PPC.EMB.sbss2)\r
+ . = ALIGN(0x10); \r
} > flash\r
\r
-\r
/* uninitialized read-only small data section. */\r
.sbss2 : {\r
*(.sbss2 .sbss2.* .gnu.linkonce.sb2.*);\r
__TEXT_END = .;\r
- . = . + ALIGN(8);\r
} > flash\r
\r
#if defined(CFG_MPC5516)\r
\r
\r
.data : {\r
- . = . + ALIGN(4);\r
__DATA_RAM = .; \r
*(.data .data.* .gnu.linkonce.d.* .gnu.linkonce.r.* .eh_frame)\r
+ . = ALIGN(0x10);\r
} > ram AT> flash\r
\r
.sdata : {\r
- . = . + ALIGN(4);\r
__SDATA_START__ = .;\r
_SDA_BASE_ = .; /* r13 */\r
*(.sdata .sdata.* .gnu.linkonce.s.*)\r
*(PPC.EMB.sdata2 .PPC.EMB.sbss2)\r
- . = . + ALIGN(8);\r
__DATA_END = .;\r
} > ram AT> flash\r
\r
_end = .;\r
} > ram\r
\r
- .got2 ALIGN(0x10): \r
- {\r
- . = . + ALIGN(16);\r
- *(.got2); \r
- . = . + ALIGN(8); \r
- } > ram\r
- .fixup : \r
- { \r
- . = . + ALIGN(16);\r
- *(.fixup);\r
- . = . + ALIGN(8); \r
- } > ram\r
.t32_outport ALIGN(0x10): \r
{ \r
*(.t32_outport); \r
} > ram\r
- \r
- .got : AT(ALIGN(LOADADDR(.sdata)+SIZEOF(.sdata),4)) \r
- { \r
- *(.got.plt) *(.got) \r
- } > ram\r
- \r
- .bss : AT(ADDR(.bss)) \r
- { \r
+ \r
+ .bss (NOLOAD) : \r
+ {\r
+ *(.got2);\r
+ *(.fixup);\r
*(.bss .bss.* COMMON .gnu.linkonce.b.*);\r
__BSS_END = .; \r
} > ram\r
+ \r
.init_stack ALIGN(16) (NOLOAD) : \r
{ \r
__SP_END = .;\r
KEEP (*(SORT(.ctors.*)))\r
}\r
\r
-.uninit ALIGN(0x10): { *(.winidea_port .ramlog .dem_eventmemory_pri) ; } > ram\r
+.uninit ALIGN(0x10) (NOLOAD) : { *(.winidea_port .ramlog .dem_eventmemory_pri) ; } > ram\r
\r
/* Always place last in RAM */\r
.heap ALIGN(0x4): {\r
/* __SBSS_END__ = ADDR(.sbss) + SIZEOF(.sbss); */\r
__SDATA2_START__ = ADDR(.sdata2);\r
__SBSS2_END__ = ADDR(.sbss2) + SIZEOF(.sbss2);\r
-__GOT_START__ = ADDR(.got);\r
-__GOT_END__ = ADDR(.got) + SIZEOF(.got);\r
-__GOT2_START__ = ADDR(.got2);\r
-__GOT2_END__ = ADDR(.got2) + SIZEOF(.got2);\r
-__FIXUP_START__ = ADDR(.fixup);\r
-__FIXUP_END__ = ADDR(.fixup) + SIZEOF(.fixup);\r
+//__GOT_START__ = ADDR(.got);\r
+//__GOT_END__ = ADDR(.got) + SIZEOF(.got);\r
+//__GOT2_START__ = ADDR(.got2);\r
+//__GOT2_END__ = ADDR(.got2) + SIZEOF(.got2);\r
+//__FIXUP_START__ = ADDR(.fixup);\r
+//__FIXUP_END__ = ADDR(.fixup) + SIZEOF(.fixup);\r
\r
__EXCEPT_START__ = 0x0;\r
__EXCEPT_END__ = 0x0;\r