diff options
Diffstat (limited to 'c/src/lib/libbsp/mips/genmongoosev/startup/linkcmds')
-rw-r--r-- | c/src/lib/libbsp/mips/genmongoosev/startup/linkcmds | 35 |
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 |