summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/mips/genmongoosev/startup/linkcmds
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/mips/genmongoosev/startup/linkcmds')
-rw-r--r--c/src/lib/libbsp/mips/genmongoosev/startup/linkcmds35
1 files changed, 27 insertions, 8 deletions
diff --git a/c/src/lib/libbsp/mips/genmongoosev/startup/linkcmds b/c/src/lib/libbsp/mips/genmongoosev/startup/linkcmds
index 21f2e55398..f8d68486a8 100644
--- a/c/src/lib/libbsp/mips/genmongoosev/startup/linkcmds
+++ b/c/src/lib/libbsp/mips/genmongoosev/startup/linkcmds
@@ -14,7 +14,7 @@
_RamBase = DEFINED(_RamBase) ? _RamBase : 0x80000000;
_RamSize = DEFINED(_RamSize) ? _RamSize : 32M;
HeapSize = DEFINED(HeapSize) ? HeapSize : 0x40000;
-_StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000;
+_StackSize = DEFINED(_StackSize) ? _StackSize : 0x4000;
ClockRate = DEFINED(ClockRate) ? ClockRate : 12000000;
@@ -29,11 +29,11 @@ SECTIONS
.text :
{
_ftext = . ;
- *(.init)
- eprol = .;
+
+ */start.o(.text)
+
*(.text)
*(.text.*)
- *(.eh_frame)
*(.gnu.linkonce.t*)
*(.mips16.fn.*)
*(.mips16.call.*)
@@ -41,10 +41,25 @@ SECTIONS
*(.rel.sdata)
*(.rel.dyn)
PROVIDE (__runtime_reloc_stop = .);
- *(.fini)
+
*(.gcc_except_table)
+ *(.eh_frame_hdr)
+ *(.eh_frame)
} >ram
+ .init :
+ {
+ KEEP(*(.init))
+
+ } > ram
+
+ .fini :
+ {
+ KEEP(*(.fini))
+
+ } > ram
+
+
.ctors :
{
/* gcc uses crtbegin.o to find the start of
@@ -99,13 +114,17 @@ SECTIONS
*(.gnu.linkonce.d*)
} >ram
-
- .lit8 :
+ .jcr :
{
. = ALIGN(8);
+ KEEP (*(.jcr))
- _gp = . + 0x8000;
+ _gp = ALIGN(16) + 0x7440;
__global = _gp;
+ } >ram
+
+ .lit8 :
+ {
*(.lit8)
} >ram