summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/mbx8xx/startup/linkcmds
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/powerpc/mbx8xx/startup/linkcmds')
-rw-r--r--c/src/lib/libbsp/powerpc/mbx8xx/startup/linkcmds80
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