diff options
Diffstat (limited to 'c/src/lib/libbsp/powerpc/mbx8xx/startup/linkcmds')
-rw-r--r-- | c/src/lib/libbsp/powerpc/mbx8xx/startup/linkcmds | 80 |
1 files changed, 40 insertions, 40 deletions
diff --git a/c/src/lib/libbsp/powerpc/mbx8xx/startup/linkcmds b/c/src/lib/libbsp/powerpc/mbx8xx/startup/linkcmds index a090366a4d..85b0b133b5 100644 --- a/c/src/lib/libbsp/powerpc/mbx8xx/startup/linkcmds +++ b/c/src/lib/libbsp/powerpc/mbx8xx/startup/linkcmds @@ -21,13 +21,13 @@ RamSize = DEFINED(RamSize) ? RamSize : 4M; HeapSize = DEFINED(HeapSize) ? HeapSize : 0x0; MEMORY - { - ram : org = 0x0, l = 4M - nvram : org = 0xfa000000, l = 32K - dpram : org = 0xfa200000, l = 16K - flash : org = 0xfc000000, l = 2M - immr : org = 0xfa200000, l = 16K - } + { + ram : org = 0x0, l = 4M + nvram : org = 0xfa000000, l = 32K + dpram : org = 0xfa200000, l = 16K + flash : org = 0xfc000000, l = 2M + immr : org = 0xfa200000, l = 16K + } SECTIONS @@ -45,7 +45,7 @@ SECTIONS * The stack will live in this area - between the vectors and * the text section. */ - + .text 0x10000: { /* Read-only sections, merged into text segment: */ @@ -58,10 +58,10 @@ SECTIONS /* Actual code */ *(.text*) - + /* C++ constructors/destructors */ *(.gnu.linkonce.t*) - + /* Initialization and finalization code. * * Various files can provide initialization and finalization functions. @@ -91,14 +91,14 @@ SECTIONS * end terminate with a NULL entry. */ - PROVIDE (__CTOR_LIST__ = .); + PROVIDE (__CTOR_LIST__ = .); /* LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2) */ *crtbegin.o(.ctors) *(.ctors) *crtend.o(.ctors) LONG(0) PROVIDE (__CTOR_END__ = .); - + PROVIDE (__DTOR_LIST__ = .); /* LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2) */ *crtbegin.o(.dtors) @@ -106,7 +106,7 @@ SECTIONS *crtend.o(.dtors) LONG(0) PROVIDE (__DTOR_END__ = .); - + /* * Special FreeBSD sysctl sections. */ @@ -192,12 +192,6 @@ SECTIONS *(.data.*) *(.data1) - PROVIDE (__SDATA_START__ = .); - *(.sdata*) - *(.gnu.linkonce.d*) - *(.gnu.linkonce.s.*) - PROVIDE (__SDATA_END__ = .); - PROVIDE (__EXCEPT_START__ = .); *(.gcc_except_table*) PROVIDE (__EXCEPT_END__ = .); @@ -206,7 +200,7 @@ SECTIONS *(.got.plt) *(.got) PROVIDE(__GOT_END__ = .); - + *(.got1) PROVIDE (__GOT2_START__ = .); @@ -214,40 +208,46 @@ SECTIONS *(.got2) PROVIDE (__GOT2_END__ = .); PROVIDE (_GOT2_END_ = .); - + PROVIDE (__FIXUP_START__ = .); PROVIDE (_FIXUP_START_ = .); *(.fixup) PROVIDE (_FIXUP_END_ = .); PROVIDE (__FIXUP_END__ = .); + } > ram + + .sdata : { + PROVIDE (_SDA_BASE_ = 32768); + *(.sdata .sdata.* .gnu.linkonce.s.*) + } > ram - /* We want the small data sections together, so single-instruction offsets - * can access them all. - */ - PROVIDE (__SDATA2_START__ = .); - *(.sdata2) - *(.gnu.linkonce.s2.*) - *(.sbss2) - PROVIDE (__SDATA2_END__ = .); + .sbss : { + __bss_start = .; + + PROVIDE (__sbss_start = .); PROVIDE (___sbss_start = .); + *(.scommon) + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + PROVIDE (__sbss_end = .); PROVIDE (___sbss_end = .); } > ram - - + + .sdata2 : { + PROVIDE (_SDA2_BASE_ = 32768); + + *(.sdata2 .sdata2.* .gnu.linkonce.s2.*) + } > ram =0 + + .sbss2 : { + *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*) + } > ram =0 + .bss : { - PROVIDE (__SBSS_START__ = .); - - PROVIDE (__SBSS2_START__ = .); - *(.sbss2) - PROVIDE (__SBSS2_END__ = .); - bss.start = .; *(.bss .bss* .gnu.linkonce.b*) - *(.sbss*) *(COMMON) . = ALIGN(4); bss.end = .; - - PROVIDE (__SBSS_END__ = .); } > ram |